Skip to content
Snippets Groups Projects
Commit b6df826b authored by Tammo Jan Dijkema's avatar Tammo Jan Dijkema
Browse files

Task #10003: fix string replacements in subpipelines (by Andreas)

parent 037e9bbf
No related branches found
No related tags found
No related merge requests found
...@@ -287,17 +287,20 @@ class GenericPipeline(control): ...@@ -287,17 +287,20 @@ class GenericPipeline(control):
val = subpipeline_parset[k] val = subpipeline_parset[k]
if not str(k).startswith('!') and not str(k).startswith('pipeline.replace.'): if not str(k).startswith('!') and not str(k).startswith('pipeline.replace.'):
for item in checklist: for item in checklist:
if item in str(val): if item+".output" in str(val):
val = str(val).replace(item, stepname + '-' + item) val = str(val).replace(item, stepname + '-' + item)
self.parset.add(stepname + '-' + k, str(val)) self.parset.add(stepname + '-' + k, str(val))
else: else:
# remove replacements strings to prevent loading the same key twice
if k in self._keys(self.parset):
self.parset.remove(k)
self.parset.add(k, str(val)) self.parset.add(k, str(val))
for i, item in enumerate(subpipeline_steplist): for i, item in enumerate(subpipeline_steplist):
subpipeline_steplist[i] = stepname + '-' + item subpipeline_steplist[i] = stepname + '-' + item
for item in step_parset_obj[stepname].keys(): for item in step_parset_obj[stepname].keys():
for k in self._keys(self.parset): for k in self._keys(self.parset):
if str(k).startswith('!') and item in k or str(k).startswith('pipeline.replace.') and item in k: if str(k).startswith('!') and item == str(k).strip("! ") or str(k).startswith('pipeline.replace.') and item == str(k)[17:].strip():
self.parset.remove(k) self.parset.remove(k)
self.parset.add('! ' + item, str(step_parset_obj[stepname][item])) self.parset.add('! ' + item, str(step_parset_obj[stepname][item]))
self._replace_values() self._replace_values()
...@@ -308,10 +311,6 @@ class GenericPipeline(control): ...@@ -308,10 +311,6 @@ class GenericPipeline(control):
step_control_dict[name] = step_control_dict[j] step_control_dict[name] = step_control_dict[j]
step_name_list.insert(0, name) step_name_list.insert(0, name)
# remove replacements strings to prevent loading the same key twice
for k in copy.deepcopy(self.parset.keywords()):
if str(k).startswith('!'):
self.parset.remove(k)
# loop # loop
if kind_of_step == 'loop': if kind_of_step == 'loop':
......
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