Skip to content
Snippets Groups Projects
Commit d6c291ca authored by Karl-Hermann Wieners's avatar Karl-Hermann Wieners
Browse files

Revert "Config: identify group names differing by whitespace only"

This reverts commit e05d6905.
parent e05d6905
No related branches found
No related tags found
No related merge requests found
Source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -156,9 +156,6 @@ class ExpConfig(ConfigObj):
# Helper functions
#
# Common pattern to be used for helper functions
pattern_whitespace_sequences = re.compile(r"\s+")
def split_shared_sections(config):
'''Process sections to expand shared entries as [[job1, job2]]
......@@ -268,32 +265,6 @@ class ExpConfig(ConfigObj):
for key in section.sections:
list_assign(section[key])
def unify_section_keys(config):
'''Process sections to unify [base ident] entries
Collapses whitespace sequences to a single space'''
def unify_key(current):
for subkey_orig in current.sections:
subkey = pattern_whitespace_sequences.sub(" ", subkey_orig)
if subkey != subkey_orig:
if subkey in current:
raise ExpConfigError(
f"duplicate key '{subkey}' after whitespace"
" unification", subkey_orig)
else:
current.rename(subkey_orig, subkey)
if 'namelists' in config.sections:
for group in config['namelists'].sections:
unify_key(config['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])
# Helper functions for value definitions
def read_value(value):
......@@ -573,14 +544,12 @@ class ExpConfig(ConfigObj):
if lib_config_name:
pre_config.merge(ConfigObj(lib_config_name))
split_shared_sections(pre_config)
unify_section_keys(pre_config)
list_assign(pre_config)
register_version(pre_config, config_versions)
if setup_config_name:
pre_config.merge(ConfigObj(setup_config_name))
split_shared_sections(pre_config)
unify_section_keys(pre_config)
list_assign(pre_config)
register_version(pre_config, config_versions)
......@@ -589,7 +558,6 @@ class ExpConfig(ConfigObj):
if lib_config_name:
pre_config.merge(ConfigObj(lib_config_name))
split_shared_sections(pre_config)
unify_section_keys(pre_config)
list_assign(pre_config)
register_version(pre_config, config_versions)
elif (experiment_type and
......@@ -603,7 +571,6 @@ class ExpConfig(ConfigObj):
if lib_config_name:
pre_config.merge(ConfigObj(lib_config_name))
split_shared_sections(pre_config)
unify_section_keys(pre_config)
list_assign(pre_config)
register_version(pre_config, config_versions)
else:
......@@ -617,7 +584,6 @@ class ExpConfig(ConfigObj):
if lib_config_name:
pre_config.merge(ConfigObj(lib_config_name))
split_shared_sections(pre_config)
unify_section_keys(pre_config)
list_assign(pre_config)
register_version(pre_config, config_versions)
......@@ -630,7 +596,6 @@ class ExpConfig(ConfigObj):
experiment_config = ConfigObj(experiment_config_name)
pre_config.merge(experiment_config)
split_shared_sections(pre_config)
unify_section_keys(pre_config)
list_assign(pre_config)
# Add extra dictionary
......
......@@ -640,6 +640,8 @@ class NamelistTestCase(MkexpSimpleTestCase):
""", u"""
&group ! '1'
/
&group ! ' 1'
/
&group ! '2'
/
&group ! 'i i i'
......@@ -648,8 +650,9 @@ class NamelistTestCase(MkexpSimpleTestCase):
[namelists]
[[namelist]]
[[[group 1]]]
[[[group 2]]]
[[[group i i i]]]
[[[group 1]]]
[[[group 2]]]
[[[group i i i]]]
""")
def test_namelist_case_twist(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment