def get(self, key): _data = shelve.open('bokeh.server') key = encode_utf8(key) data = _data.get(key, None) if data is None: return None attrs = json.loads(decode_utf8(data)) _data.close() return attrs
def pull(self, docid, typename=None, objid=None): """you need to call this with either typename AND objid or leave out both. leaving them out means retrieve all otherwise, retrieves a specific object """ doc_keys = self.smembers(dockey(docid)) attrs = self.mget(doc_keys) data = [] for k, attr in zip(doc_keys, attrs): typename, _, modelid = parse_modelkey(k) attr = protocol.deserialize_json(decode_utf8(attr)) data.append({'type': typename, 'attributes': attr}) return data
def get(self, key): data = self._data.get(key, None) if data is None: return None attrs = json.loads(decode_utf8(data)) return attrs
def parse_modelkey(key): _, typename, docid, modelid = decode_utf8(key).split(":") return typename, docid, modelid