def GET(self, jrequest, jresponse): assert isinstance(jrequest, JsonRpcRequest) assert isinstance(jresponse, JsonRpcResponse) jresponse.setId() path_info = jrequest.getPathInfo() try: metadata_id = int(path_info[3]) except: return query = MetadataNdb.queryRange(metadata_id, metadata_id) for metadata_key in query.fetch(keys_only=True): jresponse.addResult(metadata_key.get()) jresponse.setExtraValue("key_id", metadata_key.id())
def GET(self, jrequest, jresponse): def create_data(data_id, field, string): data = DataDb() data.dataId = data_id data.field = field data.string = string return data.put() def delete_data(start, end): query = DataNdb.queryRange(start, end) keys = query.fetch(keys_only=True) for key in keys: key.delete() def create_metadata(metadata_id, data_list): metadata = MetadataDb() metadata.metadataId = metadata_id metadata.dataList = data_list return metadata.put() def delete_metadata(start, end): query = MetadataNdb.queryRange(start, end) keys = query.fetch(keys_only=True) for key in keys: key.delete() def prepare(): delete_data(1, 4) data1_key = create_data(1, "aa", "bb") data2_key = create_data(2, "aa", "bb") data3_key = create_data(3, "cc", "dd") data4_key = create_data(4, "cc", "dd") delete_metadata(1, 6) create_metadata(1, [data2_key, data4_key]) create_metadata(2, [data2_key, data4_key]) create_metadata(3, [data1_key, data3_key]) create_metadata(4, [data2_key, data2_key]) create_metadata(5, [data2_key, data3_key]) create_metadata(6, [data4_key, data4_key]) assert isinstance(jrequest, JsonRpcRequest) assert isinstance(jresponse, JsonRpcResponse) jresponse.setId() prepare() query = MetadataNdb.queryRange(1, 6) keys = query.fetch(keys_only=True) for key in keys: debug(key) assert isinstance(key, ndb.Key) metadata = key.get() jresponse.addResult([metadata.metadataId, _listifyDataList(metadata.dataList)])
def delete_metadata(start, end): query = MetadataNdb.queryRange(start, end) keys = query.fetch(keys_only=True) for key in keys: key.delete()