示例#1
0
 def _process(self, value):
     if isinstance(value, list):
         return [self._process(v) for v in value]
     elif isinstance(value, dict):
         d = {}
         for k, v in value.items():
             d[k] = self._process(v)
         return client.create_thing(self, d.get('key'), d)
     elif isinstance(value, common.Reference):
         return client.create_thing(self, unicode(value), None)
     else:
         return value
示例#2
0
 def get_doc(key):
     doc = docs[key]
     del doc['_id']
     del doc['_rev']
     if not _raw:
         data = self._site._process_dict(common.parse_query(doc))
         doc = client.create_thing(self._site, doc['key'], data)
     return doc
示例#3
0
 def get_doc(key):
     doc = docs[key]
     del doc['_id']
     del doc['_rev']
     if not _raw:
         data = self._site._process_dict(common.parse_query(doc))
         doc = client.create_thing(self._site, doc['key'], data)
     return doc
示例#4
0
    def add(self, doc):
        #@@ UGLY!
        doc = common.parse_query(doc)
        doc = client.Site(None, None)._process_dict(doc)

        key = doc['key']
        self.docs[key] = client.create_thing(self, key, doc)

        olid = key.split("/")[-1]
        if web.re_compile(r'OL\d+[A-Z]').match(olid):
            self.olids[olid] = key
示例#5
0
 def add(self, doc):
     #@@ UGLY!
     doc = common.parse_query(doc)
     doc = client.Site(None, None)._process_dict(doc)
     
     key = doc['key']
     self.docs[key] = client.create_thing(self, key, doc)
     
     olid = key.split("/")[-1]
     if web.re_compile(r'OL\d+[A-Z]').match(olid):
         self.olids[olid] = key
示例#6
0
 def make_doc(self, rawdata):
     data = web.ctx.site._process_dict(common.parse_query(rawdata))
     doc = client.create_thing(web.ctx.site, data['key'], data)
     return doc
示例#7
0
 def new(self, key, data=None):
     """Creates a new thing in memory.
     """
     data = common.parse_query(data)
     data = self._process_dict(data or {})
     return client.create_thing(self, key, data)
示例#8
0
 def get(self, key, revision=None):
     data = self.docs.get(key)
     data = data and web.storage(common.parse_query(data))
     return data and client.create_thing(self, key, self._process_dict(data))
示例#9
0
 def make_doc(self, rawdata):
     data = web.ctx.site._process_dict(common.parse_query(rawdata))
     doc = client.create_thing(web.ctx.site, data['key'], data)
     return doc
示例#10
0
    def get(self, key):
        doc = self.docs[key]

        # black magic
        data = self._process_dict(common.parse_query(doc))
        return client.create_thing(self, key, data)
示例#11
0
    def get(self, key):
        doc = self.docs[key]

        # black magic
        data = self._process_dict(common.parse_query(doc))
        return client.create_thing(self, key, data)