From: Thierry Parmentelat <thierry.parmentelat@inria.fr>
Date: Wed, 4 Dec 2013 15:08:15 +0000 (+0100)
Subject: skim down the amount of debug - both python and js - manifold traffic gets displayed... 
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=b5504c9bcd542dec74afe80c91865a041fa71d6a;p=unfold.git

skim down the amount of debug - both python and js - manifold traffic gets displayed with duration
---

diff --git a/manifold/core/query.py b/manifold/core/query.py
index 764336fa..976f4978 100644
--- a/manifold/core/query.py
+++ b/manifold/core/query.py
@@ -23,7 +23,7 @@ def uniqid ():
     return uuid.uuid4().hex
 
 debug=False
-debug=True
+#debug=True
 
 class ParameterError(StandardError): pass
 
diff --git a/manifold/manifoldapi.py b/manifold/manifoldapi.py
index 664bb320..89b6f0ea 100644
--- a/manifold/manifoldapi.py
+++ b/manifold/manifoldapi.py
@@ -9,16 +9,29 @@ from manifold.core.result_value import ResultValue
 
 debug=False
 debug=True
+debug_deep=False
+#debug_deep=True
 
+########## ugly stuff for hopefully nicer debug messages
 def mytruncate (obj, l):
     # we will add '..' 
     l1=l-2
     repr="%s"%obj
     return (repr[:l1]+'..') if len(repr)>l1 else repr
 
+from time import time, gmtime, strftime
+from math import trunc
+def mytime (start=None):
+    gm=gmtime()
+    t=time()
+    msg=strftime("%H:%M:%S-", gmtime())+"%03d"%((t-trunc(t))*1000)
+    if start is not None: msg += " (%03fs)"%(t-start)
+    return t,msg
+##########
+
 class ManifoldAPI:
 
-    def __init__(self, auth=None, cainfo=None):
+    def __init__ (self, auth=None, cainfo=None):
         
         self.auth = auth
         self.cainfo = cainfo
@@ -51,6 +64,16 @@ class ManifoldAPI:
                 else:           print '+++',k,':',mytruncate (v,30)
         else:                                 print "[dont know how to display result] %s"%result
 
+    # how to display a call
+    def _repr_query (self,methodName, query):
+        try:    action=query['action']
+        except: action="???"
+        try:    subject=query['object']
+        except: subject="???"
+        # most of the time, we run 'forward'
+        if methodName=='forward':       return "forward(%s(%s))"%(action,subject)
+        else:                           return "%s(%s)"%(action,subject)
+
     # xxx temporary code for scaffolding a ManifolResult on top of an API that does not expose error info
     # as of march 2013 we work with an API that essentially either returns the value, or raises 
     # an xmlrpclib.Fault exception with always the same 8002 code
@@ -59,23 +82,18 @@ class ManifoldAPI:
     # a SESSION_EXPIRED code
     def __getattr__(self, methodName):
         def func(*args, **kwds):
-            # how to display a call
-            def repr ():
-                # most of the time, we run 'forward'
-                if methodName=='forward':
-                    try:    action="forward(%s)"%args[0]['action']
-                    except: action="forward(??)"
-                else: action=methodName
-                return action
+            # shorthand
+            def repr(): return self._repr_query (methodName, args[0])
             try:
                 if debug:
-                    print "====> ManifoldAPI.%s"%repr(),"url",self.url
+                    start,msg = mytime()
+                    print "====>",msg,"ManifoldAPI.%s"%repr(),"url",self.url
                     # No password in the logs
                     logAuth = copy.copy(self.auth)
                     for obfuscate in ['Authring','session']: 
                         if obfuscate in logAuth:  logAuth[obfuscate]="XXX"
-                    print "=> auth",logAuth
-                    print "=> args",args,"kwds",kwds
+                    if debug_deep: print "=> auth",logAuth
+                    if debug_deep: print "=> args",args,"kwds",kwds
                 annotations = {
                     'authentication': self.auth
                 }
@@ -86,7 +104,8 @@ class ManifoldAPI:
                 if debug:
                     print '<= result=',
                     self._print_result(result)
-                    print '<==== backend call %s returned'%(repr()),
+                    end,msg = mytime(start)
+                    print "<====",msg,"backend call %s returned"%(repr())
 
                 return ResultValue(**result)
 
diff --git a/manifold/manifoldproxy.py b/manifold/manifoldproxy.py
index 99e7b0aa..3577fe5a 100644
--- a/manifold/manifoldproxy.py
+++ b/manifold/manifoldproxy.py
@@ -14,7 +14,7 @@ from manifold.util.log          import Log
 from myslice.config             import Config
 
 debug=False
-debug=True
+#debug=True
 
 # add artificial delay in s
 debug_spin=0
diff --git a/manifold/metadata.py b/manifold/metadata.py
index f7a59686..de9bf2eb 100644
--- a/manifold/metadata.py
+++ b/manifold/metadata.py
@@ -7,7 +7,7 @@ from manifold.manifoldapi import ManifoldAPI
 from django.contrib                     import messages
 
 debug=False
-debug=True
+#debug=True
 
 class MetaData:
 
@@ -58,5 +58,5 @@ class MetaData:
         return self.hash_by_object[object]['column'].sort()
 
     def get_field_type(self, object, field):
-        print "Temp fix for metadata::get_field_type() -> consider moving to manifold.core.metadata soon"
+        if debug: print "Temp fix for metadata::get_field_type() -> consider moving to manifold.core.metadata soon"
         return field
diff --git a/plugins/querytable/static/js/querytable.js b/plugins/querytable/static/js/querytable.js
index f8e4e042..ecd6fb22 100644
--- a/plugins/querytable/static/js/querytable.js
+++ b/plugins/querytable/static/js/querytable.js
@@ -8,8 +8,8 @@
 
     var debug=false;
     debug=true
-    var contents_debug=false;
-//    contents_debug=true;
+    var debug_deep=false;
+//    debug_deep=true;
 
     var QueryTable = Plugin.extend({
 
@@ -90,7 +90,7 @@
 	    this.slick_data=[];
 	    
 	    var selector="#grid-"+this.options.domid;
-	    if (contents_debug) {
+	    if (debug_deep) {
 		messages.debug("slick grid selector is " + selector);
 		for (c in this.slick_columns) {
 		    var col=this.slick_columns[c];
@@ -119,7 +119,7 @@
         }, // getColIndex
 
         checkbox_html : function (key, value) {
-//	    if (debug) messages.debug("checkbox_html, value="+value);
+	    if (debug_deep) messages.debug("checkbox_html, value="+value);
             var result="";
             // Prefix id with plugin_uuid
             result += "<input";
@@ -162,7 +162,7 @@
         },
 
         set_checkbox: function(record, checked) {
-	    console.log("set_checkbox not implemented");
+	    console.log("set_checkbox not yet implemented with slickgrid");
 	    return;
             /* Default: checked = true */
             if (checked === undefined) checked = true;
@@ -192,7 +192,7 @@
             checkbox_id = escape_id(checkbox_id);
             // using dataTables's $ to search also in nodes that are not currently displayed
             var element = this.table.$(checkbox_id);
-            if (debug) 
+            if (debug_deep) 
                 messages.debug("set_checkbox checked=" + checked
                                + " id=" + checkbox_id + " matches=" + element.length);
             element.attr('checked', checked);
@@ -340,7 +340,7 @@
 	    this.slick_grid.render();
 	    var duration=new Date()-start;
 	    if (debug) messages.debug("setData+render took " + duration + " ms");
-	    if (contents_debug) {
+	    if (debug_deep) {
 		// show full contents of first row app
 		for (k in this.slick_data[0]) messages.debug("slick_data[0]["+k+"]="+this.slick_data[0][k]);
 	    }