other minor changes from slickgrid
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Fri, 6 Dec 2013 15:53:07 +0000 (16:53 +0100)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Fri, 6 Dec 2013 15:53:07 +0000 (16:53 +0100)
Makefile
manifold/core/query.py
manifold/manifoldapi.py
manifold/manifoldproxy.py
manifold/metadata.py
manifold/static/js/manifold.js
plugins/googlemap/static/css/googlemap.css
plugins/queryupdater/__init__.py
plugins/senslabmap/static/js/senslabmap.js

index e3449bb..ad27d39 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -91,7 +91,7 @@ redo-templates: clean-templates templates
 #################### compute emacs tags
 # list files under git but exclude third-party stuff like bootstrap and jquery
 myfiles: force
-       @git ls-files | egrep -v 'insert(_|-)above|third-party/|play/'
+       @git ls-files | egrep -v 'insert(_|-)above|third-party/|to-be-integrated/'
 
 # in general it's right to rely on the contents as reported by git
 tags: force
index 764336f..976f497 100644 (file)
@@ -23,7 +23,7 @@ def uniqid ():
     return uuid.uuid4().hex
 
 debug=False
-debug=True
+#debug=True
 
 class ParameterError(StandardError): pass
 
index 664bb32..89b6f0e 100644 (file)
@@ -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)
 
index 99e7b0a..3577fe5 100644 (file)
@@ -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
index f7a5968..de9bf2e 100644 (file)
@@ -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
index e4b7db9..1bb5b97 100644 (file)
@@ -356,7 +356,7 @@ var manifold = {
             var publish_uuid=tuple.publish_uuid;
             // by default we publish using the same uuid of course
             if (publish_uuid==undefined) publish_uuid=query.query_uuid;
-            if (manifold.asynchroneous_debug) {
+            if (manifold.publish_result_debug) {
                 messages.debug("sending POST on " + manifold.proxy_url + query.__repr());
             }
 
index 68485ba..c50f9d8 100644 (file)
@@ -1,3 +1,4 @@
+/* use same height as the querytable plugin for nicer effect */
 div.geo {
   height: 600px;
 /* these don't play out too well - somehow the bottom is off
index d74caa3..83abb91 100644 (file)
@@ -7,8 +7,8 @@ class QueryUpdater(Plugin):
 
     def requirements (self):
         reqs = {
-            'js_files' : [ "js/queryupdater.js" ] ,
-            'css_files': [ "css/queryupdater.css" ],
+            'js_files' : [ "js/dataTables.js", "js/queryupdater.js" ] ,
+            'css_files': [ "css/dataTables.bootstrap.css", "css/queryupdater.css" ],
             }
         return reqs
 
index a306219..f98a128 100644 (file)
         }
         this.nodes[site].push(node);
       } else {
-        console.warn("node has no site:");
-        console.warn(node);
+// xxx would need a smarter way to report these only on nodes that deserve it
+// these messages are all over the place in a PL setup and tend to hide helpful signal
+//        console.warn("node has no site:");
+//        console.warn(node);
       }
     },