def get(self, uid): tp_10_data_blocks = DataBlock.objects(channel_name='tp10').limit(2000) lists = (x.data for x in tp_10_data_blocks) tp10_values = reduce(lambda x, y: x+y, lists) tp_9_data_blocks = DataBlock.objects(channel_name='tp9').limit(2000) lists = (x.data for x in tp_9_data_blocks) tp9_values = reduce(lambda x, y: x+y, lists) fp1_data_blocks = DataBlock.objects(channel_name='fp1').limit(2000) lists = (x.data for x in fp1_data_blocks) fp1_values = reduce(lambda x, y: x+y, lists) fp2_data_blocks = DataBlock.objects(channel_name='fp2').limit(2000) lists = (x.data for x in fp2_data_blocks) fp2_values = reduce(lambda x, y: x+y, lists) person = None dummy_data = { "tp9": list(tp9_values), "tp10": list(tp10_values), "fp1": list(fp1_values), "fp2": list(fp2_values), 'timestamps': list(x for x in range(1, len(fp2_values))), } return render_template('person/history.html', person=person, page='history', data=json.dumps(dummy_data))
def post(self, todo_id): if request.data: red.publish("patient1", request.data) data = json.loads(request.data) timestamp_data = data.pop("timestamps", []) data_type = data.pop("type", None) return_message = MESSAGE connect('cognisense') for key, value in data.iteritems(): d = DataBlockModel( source_timestamp=map(unix_to_datetime, timestamp_data), channel_name=key, channel_type=data_type, data=value) d.save() if key == "fp1": if max((float(v) for v in value)) > 900: return_message = PANIC return return_message, 201