From 7b03da15833bc439fd857546be39dc1bac3200b3 Mon Sep 17 00:00:00 2001 From: Matt Cottingham Date: Fri, 23 Jan 2015 14:54:59 +0000 Subject: [PATCH] Fix query params and remove unused limiter Ensure that '_timestamp' is used to fetch data and that it is sorted descending. --- backdrop/read/api.py | 2 -- backdrop/transformers/tasks/latest_dataset_value.py | 13 ++++--------- requirements.txt | 1 - tests/transformers/tasks/test_latest_data.py | 10 +++++----- 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/backdrop/read/api.py b/backdrop/read/api.py index e20c5391..b4e8beea 100644 --- a/backdrop/read/api.py +++ b/backdrop/read/api.py @@ -5,7 +5,6 @@ from flask import Flask, jsonify, request from flask_featureflags import FeatureFlag -from flask_limiter import Limiter from .query import parse_query_from_request from .validation import validate_request_args @@ -27,7 +26,6 @@ app = Flask("backdrop.read.api") -limiter = Limiter(app) feature_flags = FeatureFlag(app) # Configuration diff --git a/backdrop/transformers/tasks/latest_dataset_value.py b/backdrop/transformers/tasks/latest_dataset_value.py index 2a7390c0..ec6ef530 100644 --- a/backdrop/transformers/tasks/latest_dataset_value.py +++ b/backdrop/transformers/tasks/latest_dataset_value.py @@ -18,7 +18,8 @@ def get_read_params(transform_params, latest_timestamp): read_params['duration'] = 1 read_params['period'] = transform_params['period'] else: - read_params['_start_at'] = latest_timestamp + read_params['start_at'] = latest_timestamp + read_params['sort_by'] = '_timestamp:descending' return read_params @@ -38,14 +39,8 @@ def is_latest_data(data_set_config, transform, latest_datum): existing_data = data_set.get(query_parameters=read_params) if existing_data['data']: - if 'period' in transform_params: - if existing_data['data'][0]['_start_at'] > latest_datum['_timestamp']: - return False - else: - # If we got more than one data point back, assume latest_data - # isn't the newest in the dataset. - if len(existing_data['data']) > 1: - return False + if existing_data['data'][0]['_timestamp'] > latest_datum['_timestamp']: + return False return True diff --git a/requirements.txt b/requirements.txt index 27edab65..e1beb615 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,6 @@ argh==0.25 Celery==3.1.17 Flask==0.10.1 Flask-FeatureFlags==0.4 -Flask-Limiter==0.6.4 gunicorn==19.1.1 invoke isodate==0.5.0 diff --git a/tests/transformers/tasks/test_latest_data.py b/tests/transformers/tasks/test_latest_data.py index 6c3a14a0..0984a29c 100644 --- a/tests/transformers/tasks/test_latest_data.py +++ b/tests/transformers/tasks/test_latest_data.py @@ -62,8 +62,8 @@ def test_compute(self, mock_dashboard, mock_dataset): 'data': [ { '_count': 1.0, - '_end_at': '2015-01-19T00:00:00+00:00', - '_start_at': '2015-01-12T00:00:00+00:00' + '_end_at': '2012-01-19T00:00:00+00:00', + '_timestamp': '2012`-01-12T00:00:00+00:00' } ] } @@ -102,12 +102,12 @@ def test_compute_old_date_range(self, mock_dashboard, mock_dataset): { '_count': 1.0, '_end_at': '2015-01-19T00:00:00+00:00', - '_start_at': '2015-01-12T00:00:00+00:00' + '_timestamp': '2015-01-12T00:00:00+00:00' }, { '_count': 1.0, '_end_at': '2015-01-19T00:00:00+00:00', - '_start_at': '2015-01-12T00:00:00+00:00' + '_timestamp': '2015-01-12T00:00:00+00:00' } ] } @@ -137,7 +137,7 @@ def test_compute_old_date_period(self, mock_dashboard, mock_dataset): 'data': [ { '_count': 1.0, - '_start_at': '2016-10-07T00:00:00+00:00' + '_timestamp': '2016-10-07T00:00:00+00:00' } ] }