From bdb58f6531db56a7c150082e1d105bbaa3d76538 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Dawid=20Jagie=C5=82a?= Date: Sun, 18 Oct 2015 19:33:58 +0200 Subject: [PATCH] serialization fix for duplicate vars --- qcg/utils.py | 57 +++++++++++++++++++-------------------------------------- 1 file changed, 19 insertions(+), 38 deletions(-) diff --git a/qcg/utils.py b/qcg/utils.py index 0287184..7bfe4b4 100644 --- a/qcg/utils.py +++ b/qcg/utils.py @@ -21,7 +21,6 @@ from qcg import constants from django.utils import encoding - resources_cache = caches['resources'] @@ -144,56 +143,27 @@ def to_job_desc(params, proxy): if params['watch_output']: desc.set_watch_output(params['watch_output'], params['watch_output_pattern']) - #print "testowanie ", - przemytnik = params['env_variables'] + przemytnik = [] kontrabanda =( (u'UNRESPORTAL_FORCEFIELD', 'force_field'), (u'UNRESPORTAL_SEQUENCE', 'sequence'), (u'UNRESPORTAL_PDBFILE','pdb_file'), (u'UNRESPORTAL_NSTEP','nstep'), (u'UNRESPORTAL_NTWE', 'ntwe'), (u'UNRESPORTAL_NTWX','ntwx'), (u'UNRESPORTAL_DT', 'dt'), (u'UNRESPORTAL_DAMAX', 'damax')) - print "> Przed: ",przemytnik - for p in przemytnik: - print "-",p + upvar=False + for p in params['env_variables']: for k in kontrabanda: if p[0]==k[0]: - print " usuwam",p - przemytnik.remove(p) + upvar=True break - - print "> Po: ",przemytnik - for p in przemytnik: - print "-",p + if not upvar: + przemytnik.append(p) + else: + upvar=False for k in kontrabanda: if params[k[1]]: przemytnik.append( [ k[0], params[k[1]] ] ) - ''' - if params[k[1]]: - print params[k[1]] - print k - try: - setattr(przemytnik, k[0], params[k[1]] ) - print "setattr" - except AttributeError: - przemytnik.append( [ k[0], params[k[1]] ] ) - print "append" - - if params['sequence']: - przemytnik.append([u'UNRESPORTAL_SEQUENCE',params['sequence']]) - if params['pdb_file']: - przemytnik.append([u'UNRESPORTAL_PDBFILE',params['pdb_file']]) - if params['nstep']: - przemytnik.append([u'UNRESPORTAL_NSTEP',params['nstep']]) - if params['ntwe']: - przemytnik.append([u'UNRESPORTAL_NTWE',params['ntwe']]) - if params['ntwx']: - przemytnik.append([u'UNRESPORTAL_NTWX',params['ntwx']]) - if params['dt']: - przemytnik.append([u'UNRESPORTAL_DT',params['dt']]) - if params['damax']: - przemytnik.append([u'UNRESPORTAL_DAMAX',params['damax']]) - ''' setattr(desc, 'env_variables', przemytnik) # TODO monitoring @@ -253,7 +223,17 @@ def to_form_data(xml): if desc.memory_per_slot: params['memory_per_slot'] = int(desc.memory_per_slot) + kontrabanda =( (u'UNRESPORTAL_FORCEFIELD', 'force_field'), (u'UNRESPORTAL_SEQUENCE', 'sequence'), + (u'UNRESPORTAL_PDBFILE','pdb_file'), (u'UNRESPORTAL_NSTEP','nstep'), + (u'UNRESPORTAL_NTWE', 'ntwe'), (u'UNRESPORTAL_NTWX','ntwx'), + (u'UNRESPORTAL_DT', 'dt'), (u'UNRESPORTAL_DAMAX', 'damax')) + for item in desc.env_variables: + for k in kontrabanda: + if item[0] == k[0]: + params[k[1]] = item[1] + break + ''' if item[0] == u'UNRESPORTAL_FORCEFIELD': params['force_field'] = item[1] if item[0] == u'UNRESPORTAL_SEQUENCE': @@ -270,6 +250,7 @@ def to_form_data(xml): params['dt'] = item[1] if item[0] == u'UNRESPORTAL_DAMAX': params['damax'] = item[1] + ''' return params -- 1.7.9.5