implements sending update queries - and returns a sensible code for other query actions
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 11 Apr 2013 12:15:04 +0000 (14:15 +0200)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Thu, 11 Apr 2013 12:15:04 +0000 (14:15 +0200)
manifold/manifoldapi.py
manifold/manifoldresult.py

index 74aaf8c..86471ea 100644 (file)
@@ -60,11 +60,14 @@ class ManifoldAPI:
                 return ManifoldResult (code=ManifoldResult.UNKNOWN_ERROR, output="%s"%error)
         return func
 
-    def send_manifold_query (self, manifold_query):
-        (action,subject)= (manifold_query.action,manifold_query.subject)
+    def send_manifold_query (self, query):
+        (action,subject)= (query.action,query.subject)
         if action=='get':
             # use self.Get rather than self.server.Get so we catch exceptions as per __getattr__
-            return self.Get(subject, manifold_query.filters, {}, manifold_query.fields)
-        # xxx...
+            return self.Get(subject, query.filters, query.timestamp, query.fields)
+        if action=='update':
+            return self.Update(subject, query.filters, query.params, query.fields)
         else:
-            print "WARNING: ManifoldAPI.send_manifold_query: only 'get' implemented for now"
+            warning="WARNING: ManifoldAPI.send_manifold_query: %s not implemented for now"%action
+            print warning
+            return ManifoldResult(code=ManifoldCode.NOT_IMPLEMENTED, output=warning)
index c99d861..fcda3ad 100644 (file)
@@ -5,7 +5,8 @@ def enum(*sequential, **named):
 ManifoldCode = enum (
     SUCCESS=0,
     SESSION_EXPIRED=1,
-    OTHERS=2,
+    NOT_IMPLEMENTED=2,
+    OTHERS=3,
 )
 
 # being a dict this can be used with json.dumps