Commit 6d1753dc authored by lintangsutawika's avatar lintangsutawika
Browse files

add _process_group_config

parent aef7028c
...@@ -166,6 +166,24 @@ class TaskManager: ...@@ -166,6 +166,24 @@ class TaskManager:
subtask_list.append(task) subtask_list.append(task)
return group_name, subtask_list return group_name, subtask_list
def _process_group_config(config):
if set(config.keys()) > {"task", "group"}:
update_config = {
k: v
for k, v in config.items()
if k not in GROUP_ONLY_KEYS + ["task", "group"]
}
if not bool(update_config):
update_config = None
group_config = {
k: v
for k, v in config.items()
if k in GROUP_ONLY_KEYS + ["task", "group"]
}
return group_config, update_config
if isinstance(name_or_config, str): if isinstance(name_or_config, str):
if update_config is not None: if update_config is not None:
# Process name_or_config as a dict instead # Process name_or_config as a dict instead
...@@ -177,6 +195,7 @@ class TaskManager: ...@@ -177,6 +195,7 @@ class TaskManager:
subtask_list = self._get_tasklist(name_or_config) subtask_list = self._get_tasklist(name_or_config)
if subtask_list == -1: if subtask_list == -1:
group_config = self._get_config(name_or_config) group_config = self._get_config(name_or_config)
group_config, update_config = _process_group_config(group_config)
group_name, subtask_list = _get_group_and_subtask_from_config( group_name, subtask_list = _get_group_and_subtask_from_config(
group_config group_config
) )
...@@ -204,12 +223,15 @@ class TaskManager: ...@@ -204,12 +223,15 @@ class TaskManager:
subtask_list = self._get_tasklist(name) subtask_list = self._get_tasklist(name)
if subtask_list == -1: if subtask_list == -1:
group_config = self._get_config(name) group_config = self._get_config(name)
group_config, update_config = _process_group_config(
group_config
)
group_name, subtask_list = _get_group_and_subtask_from_config( group_name, subtask_list = _get_group_and_subtask_from_config(
group_config group_config
) )
else: else:
group_name = ConfigurableGroup( group_name = ConfigurableGroup(
config={"group": group_name, "task": subtask_list} config={"group": name, "task": subtask_list}
) )
else: else:
if self._name_is_registered(name): if self._name_is_registered(name):
...@@ -238,22 +260,10 @@ class TaskManager: ...@@ -238,22 +260,10 @@ class TaskManager:
task_config = name_or_config task_config = name_or_config
return _load_task(task_config, task=name) return _load_task(task_config, task=name)
else: else:
group_config = { group_config, update_config = _process_group_config(name_or_config)
k: v
for k, v in name_or_config.items()
if k in GROUP_ONLY_KEYS + ["task", "group"]
}
group_name, subtask_list = _get_group_and_subtask_from_config( group_name, subtask_list = _get_group_and_subtask_from_config(
group_config group_config
) )
if set(name_or_config.keys()) > {"task", "group"}:
update_config = {
k: v
for k, v in name_or_config.items()
if k not in GROUP_ONLY_KEYS + ["task", "group"]
}
if not bool(update_config):
update_config = None
fn = partial( fn = partial(
self._load_individual_task_or_group, self._load_individual_task_or_group,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment