def query(): """ given {start_time, end_time, aggregation} return -> [{time, freq}, ...] """ start_time = datetime.strptime(request.query.get("start_time"), '%Y-%m-%dT%H:%M:%SZ') end_time = datetime.strptime(request.query.get("end_time"), '%Y-%m-%dT%H:%M:%SZ') aggregation = request.query.get("aggregation") mg = MongoDB() mg.connect() print("querying time series...") results = mg.find( {'created_at': {'$gt': start_time, '$lt': end_time}} ) results = Grid.get_ts(results, aggregation) ret = [] for result in results: ret.append({'start_time': result[0].to_datetime().strftime('%Y-%m-%dT%H:%M:%SZ'), 'frequency': result[1].item()}) response.content_type = 'application/json' return json_dumps(ret, indent=2)