From b31416e7d9e9e22b6b411b0f0d59c346026174f4 Mon Sep 17 00:00:00 2001 From: Samuel Gaist <samuel.gaist@idiap.ch> Date: Thu, 23 Aug 2018 11:58:56 +0200 Subject: [PATCH] [plotters][views] Cleanup plot_sample Better handling of "default". The current code didn't properly handled absence of defaults. --- beat/web/plotters/views.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/beat/web/plotters/views.py b/beat/web/plotters/views.py index 361d2e1a1..6021c9315 100644 --- a/beat/web/plotters/views.py +++ b/beat/web/plotters/views.py @@ -407,29 +407,28 @@ def plot_sample(request): # Collect the data for the plot, check compatibility - default = None - - # check compatibility, fill up defaults - if default is None: - default = DefaultPlotter.objects.filter(plotter=final_plotter) + default = DefaultPlotter.objects.filter(plotter=final_plotter) - if not default and not final_plotter: - message = 'No plotter specified and no default for plot format %s' % final_plotter.fullname() - return HttpResponseBadRequest(message) + if not default.count() and not final_plotter: + message = 'No plotter specified and no default for plot format %s' % final_plotter.fullname() + return HttpResponseBadRequest(message) + # check compatibility, fill up defaults + if default.count(): default = default[0] #get the first and only # set defaults, if specific values have not already been set if not final_plotter: final_plotter = default.plotter + else: + default = None - if corefmt is None: #loads it once - corefmt = final_plotter.core_format() + if corefmt is None: #loads it once + corefmt = final_plotter.core_format() ## loads the data, for that particular result parsed = simplejson.loads(use['sample_data']) sample_data = corefmt.type().from_dict(parsed, casting='unsafe') - # checks the plotter is valid core_plotter = final_plotter.core() if not core_plotter.valid: @@ -439,7 +438,7 @@ def plot_sample(request): # resolves parameters, in order of priority final_parameters = {} - if default.parameter: #fills-up defaults for the type + if default and default.parameter: #fills-up defaults for the type final_parameters.update(simplejson.loads(default.parameter.data)) if user_parameter: #fills-up defaults from the user set final_parameters.update(simplejson.loads(user_parameter.data)) -- GitLab