# Manifold API Python interface
import xmlrpclib
-#from util.config import Config
+from myslice.config import Config
class ManifoldAPI:
def __init__(self, auth=None, cainfo=None):
- #config = Config()
+ config = Config()
self.auth = auth
- #self.server = config.server
- #self.port = config.port
- #self.path = config.path
- self.server = 'demo.myslice.info'
- self.port = '7080'
- self.path = '/'
+ self.server = config.manifold_server
+ self.port = config.manifold_port
+ self.path = config.manifold_path
self.cainfo = cainfo
self.errors = []
self.trace = []
print methodName, self.auth, self.url
result=getattr(self.proxy, methodName)(self.auth, *args, **kwds)
return result
- return func
\ No newline at end of file
+ return func
--- /dev/null
+import json
+
+# xxx php has uniqid, need to find a module for that
+counter=1
+def uniqid (): global counter; counter += 1; return counter
+
+class ManifoldQuery:
+
+ def __init__ (self, action=None, method=None, timestamp='now',
+ filters=[], params=[], fields=[],
+ sort=None, limit=None, offset=None,
+ ):
+ self.uuid=uniqid()
+ # settable
+ self.action=action
+ self.method=method
+ self.timestamp=timestamp
+ self.filters=filters
+ self.params=params
+ self.fields=fields
+ self.sort=sort
+ self.limit=limit
+ self.offset=offset
+ # internal data
+ self.analyzed_query=None
+ self.subqueries = {}
+
+ def to_json (self):
+ uuid=self.uuid
+ a=self.action
+ m=self.method
+ t=self.timestamp
+ f=json.dumps (self.filters)
+ p=json.dumps (self.params)
+ c=json.dumps (self.fields)
+ # xxx unique can be removed, but for now we pad the js structure
+ unique=0
+
+ # subqueries is a dictionary method:query
+ sq=", ".join ( [ "'%s':%s" % (method, subquery.to_json())
+ for (method, subquery) in self.subqueries.iteritems()])
+
+ aq = self.analyzed_query.to_json() if self.analyzed_query else 'null'
+
+ return "new Query('%(a)s', '%(m)s', '%(t)s', %(f)s, %(p)s, %(c)s, %(unique)s, '%(uuid)s', %(aq)s, {{%(sq)s}})"%locals()
+
+
+
{# let's add these ones no matter what #}
{% insert_str prelude "jquery/js/jquery.js" %}
-{% insert_str prelude "js/plugin.js" %}
+{% insert_str prelude "js/plugin_init.js" %}
{% insert_str prelude "css/myslice.css" %}
<body>