class _Recent(JsonRpcDispatcher): def GET(self, jrequest, jresponse): assert isinstance(jrequest, JsonRpcRequest) assert isinstance(jresponse, JsonRpcResponse) jresponse.setId() try: arduinoid = unicode(jrequest.getPathInfo(3)) debug("arduinoid = %s" % arduinoid) data_keys = Data.fetchByFieldAndString("arduinoid", arduinoid) debug("data_keys = %s" % data_keys) except Exception, e: jresponse.setErrorInvalidParameter(e) return metadata_keys = Metadata.fetchByDataList(data_keys) for metadata_key in metadata_keys: metadata_entity = metadata_key.get() data_list = metadata_entity.dataList data_dict = _DataListToDict(data_list) jresponse.addResult([ metadata_entity.receivedDateTime.isoformat(), data_dict.get("time"), data_dict.get("gen.power(W)"), data_dict.get("duration") ])