diff --git a/expconfig.py b/expconfig.py index 40928aa17668a35980afea20b77f9ef6e49d8d30..05a33d6be7bd1a3761655ef3def8731482a0a7fe 100644 --- a/expconfig.py +++ b/expconfig.py @@ -285,14 +285,18 @@ class ExpConfig(ConfigObj): current.rename(subkey_orig, subkey) if 'namelists' in config.sections: - for group in config['namelists'].sections: - unify_key(config['namelists'][group]) + namelists = config['namelists'] + for group in namelists.sections: + unify_key(namelists[group]) if 'jobs' in config.sections: - unify_key(config['jobs']) - for job in config['jobs'].sections: - if 'namelists' in config['jobs'][job].sections: - for group in config['namelists'].sections: - unify_key(config['jobs'][job]['namelists'][group]) + jobs = config['jobs'] + unify_key(jobs) + for name in jobs.sections: + job = jobs[name] + if 'namelists' in job.sections: + namelists = job['namelists'] + for group in namelists.sections: + unify_key(namelists[group]) # Helper functions for value definitions diff --git a/test.py b/test.py index f798d3a44f496f8ab64b276ba8d3e8102a3e0f99..830004995cef75d699491b08b92b7b7432ae0585 100644 --- a/test.py +++ b/test.py @@ -644,12 +644,18 @@ class NamelistTestCase(MkexpSimpleTestCase): / &group ! 'i i i' / + &group ! '3 a' + / """, u""" [namelists] [[namelist]] [[[group 1]]] [[[group 2]]] [[[group i i i]]] + """, u""" + [[[namelists]]] + [[[[namelist]]]] + [[[[[ group 3 a\t ]]]]] """) def test_namelist_case_twist(self):