From 83075d03134d335f62429d4d16c04954762719d8 2021-05-14 23:28:57 From: Juan C. Espinoza Date: 2021-05-14 23:28:57 Subject: [PATCH] Optmize plots mods --- diff --git a/source/madpy/djangoMad/madweb/forms.py b/source/madpy/djangoMad/madweb/forms.py index 9bd4023..4afdf9a 100644 --- a/source/madpy/djangoMad/madweb/forms.py +++ b/source/madpy/djangoMad/madweb/forms.py @@ -639,6 +639,11 @@ class SingleExpPlotsForm(django.forms.Form): required=False) '''get_params2 retrieves a list of 1d and 2d parameters of type 1 hdf5 files''' + +def check_mnemonic(s): + + return s.replace('+', '%2b') + def get_params1(args, kwargs, madExpObj, madWebObj): expID = getSelection('experiment_list', args, kwargs) @@ -649,47 +654,13 @@ def get_params1(args, kwargs, madExpObj, madWebObj): basename = firsttuple[0] fullFilename = os.path.join(expDir, basename) f = h5py.File(fullFilename, "r") - data = f[list(f.keys())[0]] - array = data[list(data.keys())[0]] - - param1d = array[list(array.keys())[0]] - param2d = array[list(array.keys())[1]] - paramch1d = list(param1d.keys()) - paramch2d = list(param2d.keys()) - - dataparameters = param1d[list(param1d.keys())[0]] - paramch_mn_bin = list(dataparameters['mnemonic']) - paramch_bin = list(dataparameters['description']) - paramch_mn = list() - paramch = list() - - for i in range(len(paramch_bin)): - paramch_mn.append(paramch_mn_bin[i].decode("utf-8")) - paramch.append(paramch_bin[i].decode("utf-8")) - - choices1d = ['Select parameter'] - for ch in paramch1d[1:]: - aux = paramch[paramch_mn.index(ch.upper())] - choices1d.append(aux) - - - dataparameters = param2d[list(param2d.keys())[0]] - paramch_mn_bin = list(dataparameters['mnemonic']) - paramch_mn = list() - paramch_bin = list(dataparameters['description']) - paramch = list() - - for i in range(len(paramch_bin)): - paramch_mn.append(paramch_mn_bin[i].decode("utf-8")) - paramch.append(paramch_bin[i].decode("utf-8")) - - choices2d = ['Select parameter'] - for ch in paramch2d[1:]: - aux = paramch[paramch_mn.index(ch.upper())] - choices2d.append(aux) - - - choices = [choices1d,choices2d] + + data = f['Data'] + + choices1d = [(check_mnemonic(x[0].decode().lower()), x[1].decode()) for x in data['Array Layout']['1D Parameters']['Data Parameters']] + choices2d = [(check_mnemonic(x[0].decode().lower()), x[1].decode()) for x in data['Array Layout']['2D Parameters']['Data Parameters']] + choices = [[('0', 'Select Parameter')] + choices1d, [('0', 'Select Parameter')] + choices2d] + f.close() return choices @@ -704,21 +675,9 @@ def get_params2(args, kwargs, madExpObj, madWebObj): basename = firsttuple[0] fullFilename = os.path.join(expDir, basename) f = h5py.File(fullFilename, "r") - - metadata = f[list(f.keys())[1]] - table = metadata[list(metadata.keys())[0]] - param_mn_bin = list(table['mnemonic']) - param_mn = list() - for p in param_mn_bin: - param_mn.append(p.decode("utf")) - - index = param_mn.index('UT2_UNIX') - params = list(table['description']) - choices = ['Select parameter'] - for p in params[index+1:]: - choices.append(p.decode("utf-8")) - - return choices + parameters = [(x[0].decode().lower(), x[1].decode()) for x in f['Metadata']['Data Parameters']] + f.close() + return [('0', 'Select Parameter')] + parameters class SingleExpPlotsSelectionForm(django.forms.Form): @@ -750,28 +709,14 @@ class SingleExpPlotsSelectionForm(django.forms.Form): choices = get_params1(args, kwargs, madExpObj, madWebObj) params1d = choices[0] params2d = choices[1] - - index = list(range(len(params1d))) - paramchoices1d = list(zip(index, params1d)) - - - index = list(range(len(params2d))) - paramchoices2d = list(zip(index, params2d)) - - - self.fields['param_list2d'] = django.forms.ChoiceField(widget = django.forms.Select(), choices=paramchoices2d, label="2D Parameters", required=False) + self.fields['param_list1d'] = django.forms.ChoiceField(widget = django.forms.Select(), choices=params1d, label="1D Parameters", required=False) + self.fields['param_list2d'] = django.forms.ChoiceField(widget = django.forms.Select(), choices=params2d, label="2D Parameters", required=False) else: params1d = get_params2(args, kwargs, madExpObj, madWebObj) - #if params1d[0] == 'ut2_unix': - # params1d[0] = 'Select parameter' - index = list(range(len(params1d))) - paramchoices1d = list(zip(index, params1d)) - - self.fields['param_list1d'] = django.forms.ChoiceField(widget = django.forms.Select(), choices=paramchoices1d, label="1D Parameters", required=False) + self.fields['param_list1d'] = django.forms.ChoiceField(widget = django.forms.Select(), choices=params1d, label="1D Parameters", required=False) - class SingleExpDownloadAsIsForm(django.forms.Form): """SingleExpDownloadAsIsForm is a Form class for the download as is field in the Single Experiment interface. Use this because its faster to create than the full SingleExpDefaultForm diff --git a/source/madpy/djangoMad/madweb/templates/madweb/show_experiment.html b/source/madpy/djangoMad/madweb/templates/madweb/show_experiment.html index 9529d79..421e954 100644 --- a/source/madpy/djangoMad/madweb/templates/madweb/show_experiment.html +++ b/source/madpy/djangoMad/madweb/templates/madweb/show_experiment.html @@ -11,6 +11,7 @@ {% block title %}Show Madrigal experiment{% endblock %} {% block extra_head %} +