+++ /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()
-
-
-