Chromium Code Reviews| Index: dashboard/dashboard/add_histograms_queue.py | 
| diff --git a/dashboard/dashboard/add_histograms_queue.py b/dashboard/dashboard/add_histograms_queue.py | 
| index 742f84f5c3ec69ba98339a665d810bd3e27c0fe1..cbae055de3ddb2cc2c942c2c9890eeffb5f0f6b6 100644 | 
| --- a/dashboard/dashboard/add_histograms_queue.py | 
| +++ b/dashboard/dashboard/add_histograms_queue.py | 
| @@ -7,12 +7,12 @@ | 
| import json | 
| from dashboard import add_histograms | 
| +from dashboard import add_point_queue | 
| 
 
shatch
2017/05/16 15:47:44
Probably want to move these helpers to a common sp
 
eakuefner
2017/05/19 18:51:48
Added TODO. It's true that moving these helpers to
 
 | 
| from dashboard.common import datastore_hooks | 
| from dashboard.common import request_handler | 
| -from dashboard.common import utils | 
| +from dashboard.common import stored_object | 
| from dashboard.models import histogram | 
| - | 
| class AddHistogramsQueueHandler(request_handler.RequestHandler): | 
| """Request handler to process a histogram and add it to the datastore. | 
| @@ -43,10 +43,38 @@ class AddHistogramsQueueHandler(request_handler.RequestHandler): | 
| datastore_hooks.SetPrivilegedRequest() | 
| data = self.request.get('data') | 
| - data_dict = json.loads(data) | 
| revision = int(self.request.get('revision')) | 
| - test_key = utils.TestKey(self.request.get('test_path')) | 
| + test_path = self.request.get('test_path') | 
| + | 
| + data_dict = json.loads(data) | 
| guid = data_dict['guid'] | 
| + is_histogram = ( | 
| + data_dict.get('type') in add_histograms.SPARSE_DIAGNOSTIC_TYPES) | 
| + | 
| + test_path_parts = test_path.split('/') | 
| + master = test_path_parts[0] | 
| + bot = test_path_parts[1] | 
| + | 
| + bot_whitelist = stored_object.Get(add_point_queue.BOT_WHITELIST_KEY) | 
| + internal_only = add_point_queue.BotInternalOnly(bot, bot_whitelist) | 
| + | 
| + test_name = '/'.join(test_path_parts[2:]) | 
| + | 
| + extra_args = {} | 
| 
 
shatch
2017/05/16 15:47:44
Maybe move this to _GetExtraArgs() or something to
 
eakuefner
2017/05/19 18:51:48
Done and renamed to unit_args.
 
 | 
| + if is_histogram: | 
| + unit = data_dict['unit'] | 
| + extra_args['units'] = unit | 
| + # TODO(eakuefner): Port unit system to Python and use that here | 
| + histogram_improvement_direction = unit.split('_')[-1] | 
| + if histogram_improvement_direction == 'biggerIsBetter': | 
| + extra_args['improvement_direction'] = 'up' | 
| + elif histogram_improvement_direction == 'smallerIsBetter': | 
| + extra_args['improvement_direction'] = 'down' | 
| + | 
| + # TDOO(eakuefner): Populate benchmark_description once it appears in | 
| + # diagnostics. | 
| + test_key = add_point_queue.GetOrCreateAncestors( | 
| + master, bot, test_name, internal_only, **extra_args).key | 
| if data_dict.get('type') in add_histograms.SPARSE_DIAGNOSTIC_TYPES: | 
| entity = histogram.SparseDiagnostic( |