manifold api prints out result with finer grain (esp. value)
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 14 Nov 2013 14:01:57 +0000 (15:01 +0100)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 14 Nov 2013 14:01:57 +0000 (15:01 +0100)
manifold/manifoldapi.py

index 1ffcace..ee1f82e 100644 (file)
@@ -32,6 +32,12 @@ class ManifoldAPI:
 
     def __repr__ (self): return "ManifoldAPI[%s]"%self.url
 
+    def _print_value (self, value):
+        print "+++",'value',
+        if isinstance (value,list):     print "[%d]"%len(value),
+        elif isinstance (value,dict):   print "{%d}"%len(value),
+        print mytruncate (value,80)
+    
     # a one-liner to give a hint of what the return value looks like
     def _print_result (self, result):
         if not result:                        print "[no/empty result]"
@@ -41,7 +47,8 @@ class ManifoldAPI:
             print "result is a dict with %d keys : %s"%(len(result),result.keys())
             for (k,v) in result.iteritems(): 
                 if v is None: continue
-                print '+++',k,':',mytruncate (v,60)
+                if k=='value':  self._print_value(v)
+                else:           print '+++',k,':',mytruncate (v,30)
         else:                                 print "[dont know how to display result] %s"%result
 
     # xxx temporary code for scaffolding a ManifolResult on top of an API that does not expose error info