Example #1
0
 def test_get_all_runs_time_series_by_key(self):
     time_a = datetime.datetime(1914, 6, 28, 10, 45, 0)
     run_a = api.create_run(run_at=time_a)
     run_b = api.create_run()
     time_c = datetime.datetime(1918, 11, 11, 11, 11, 11)
     run_c = api.create_run(run_at=time_c)
     api.add_run_metadata({'not_a_key': 'not_a_value'}, run_b.id)
     api.add_run_metadata({'a_key': 'a_value'}, run_a.id)
     api.add_run_metadata({'a_key': 'c_value'}, run_c.id)
     result = api.get_all_runs_time_series_by_key('a_key')
     self.assertEqual(2, len(result.keys()))
     self.assertIn(time_a.date(), [x.date() for x in result.keys()])
     self.assertIn(time_c.date(), [x.date() for x in result.keys()])
Example #2
0
 def test_get_all_runs_time_series_by_key(self):
     time_a = datetime.datetime(1914, 6, 28, 10, 45, 0)
     run_a = api.create_run(run_at=time_a)
     run_b = api.create_run()
     time_c = datetime.datetime(1918, 11, 11, 11, 11, 11)
     run_c = api.create_run(run_at=time_c)
     api.add_run_metadata({'not_a_key': 'not_a_value'}, run_b.id)
     api.add_run_metadata({'a_key': 'a_value'}, run_a.id)
     api.add_run_metadata({'a_key': 'c_value'}, run_c.id)
     result = api.get_all_runs_time_series_by_key('a_key')
     self.assertEqual(2, len(result.keys()))
     self.assertIn(time_a.date(), [x.date() for x in result.keys()])
     self.assertIn(time_c.date(), [x.date() for x in result.keys()])
Example #3
0
def get_runs_grouped_by_metadata_per_datetime(key):
    session = get_session()
    start_date = _parse_datetimes(flask.request.args.get('start_date', None))
    stop_date = _parse_datetimes(flask.request.args.get('stop_date', None))
    datetime_resolution = flask.request.args.get('datetime_resolution', 'sec')
    sec_runs = api.get_all_runs_time_series_by_key(key, start_date,
                                                   stop_date, session)

    if datetime_resolution not in ['sec', 'min', 'hour', 'day']:
        return ('Datetime resolution: %s, is not a valid'
                ' choice' % datetime_resolution), 400

    runs = RunAggregator(sec_runs).aggregate(datetime_resolution)

    return jsonify({'runs': runs})
Example #4
0
def get_runs_grouped_by_metadata_per_datetime(key):
    key = parse.unquote(key)
    start_date = _parse_datetimes(flask.request.args.get('start_date', None))
    stop_date = _parse_datetimes(flask.request.args.get('stop_date', None))
    datetime_resolution = flask.request.args.get('datetime_resolution', 'sec')
    with session_scope() as session:
        sec_runs = api.get_all_runs_time_series_by_key(key, start_date,
                                                       stop_date, session)

        if datetime_resolution not in ['sec', 'min', 'hour', 'day']:
            return ('Datetime resolution: %s, is not a valid'
                    ' choice' % datetime_resolution), 400

        runs = run_aggregator.RunAggregator(sec_runs).aggregate(
            datetime_resolution)

        return jsonify({'runs': runs})