示例#1
0
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")
            ])