e.message()) return try: data_keys = Data.fetchByFieldAndString("arduinoid", arduino_id) except Exception, e: jresponse.setErrorInvalidParameter(e) return start = datetime(year=year, month=month, day=day, hour=hour) end = start + timedelta(hours=1) + timedelta(minutes=1) start = start - timedelta(minutes=1) #data_list = _getDataListByArduinoId(arduino_id) #jresponse.setExtraValue("data_list", data_list) metadata_keys = Metadata.fetchDateRangeAndDataList( start, end, data_keys) for metadata_key in metadata_keys: metadata_entity = metadata_key.get() assert isinstance(metadata_entity, Metadata) data_dict = _DataListToDict(metadata_entity.dataList) jresponse.addResult([ metadata_entity.receivedDateTime.isoformat(), data_dict.get("time"), data_dict.get("gen.power(W)"), data_dict.get("duration") ]) jresponse.setFieldNames( ["receivedDateTime", "time", "gen.power(W)", "duration"])