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 %}
+