Skip to content

Commit

Permalink
hatch fmt
Browse files Browse the repository at this point in the history
  • Loading branch information
agoscinski committed Jan 22, 2025
1 parent 6849bd2 commit 388a154
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 20 deletions.
22 changes: 7 additions & 15 deletions src/sirocco/core/workflow.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from __future__ import annotations

from itertools import product, chain
from itertools import chain, product
from pathlib import Path
from typing import TYPE_CHECKING, Self

Expand All @@ -14,11 +14,11 @@
from datetime import datetime

from sirocco.parsing._yaml_data_models import (
ConfigAvailableData,
ConfigCycle,
ConfigTask,
ConfigData,
ConfigAvailableData,
ConfigGeneratedData,
ConfigTask,
)


Expand All @@ -36,15 +36,16 @@ def __init__(self,

self.name: str = name
if not isinstance(rootdir, Path):
raise ValueError(f"Need to provide path for rootdir but got {type(rootdir)}")
msg = f"Need to provide path for rootdir but got {type(rootdir)}"
raise TypeError(msg)
self.config_rootdir: Path = rootdir # TODO rename to rootdir since it does not make sense with this constructor

self.tasks: Store = Store()
self.data: Store = Store()
self.cycles: Store = Store()

data_dict = self._build_data_dict(data)
task_dict = self._build_task_dict(tasks)
task_dict = self._build_tasks_dict(tasks)

# Function to iterate over date and parameter combinations
def iter_coordinates(param_refs: list, date: datetime | None = None) -> Iterator[dict]:
Expand Down Expand Up @@ -103,7 +104,7 @@ def iter_coordinates(param_refs: list, date: datetime | None = None) -> Iterator
def _build_data_dict(data: ConfigData) -> dict[str, ConfigAvailableData | ConfigGeneratedData]:
return {data.name: data for data in chain(data.available, data.generated)}
@staticmethod
def _build_task_dict(tasks: list[ConfigTask]) -> dict[str, ConfigTask]:
def _build_tasks_dict(tasks: list[ConfigTask]) -> dict[str, ConfigTask]:
return {task.name: task for task in tasks}

@staticmethod
Expand Down Expand Up @@ -134,12 +135,3 @@ def from_config_workflow(cls: type[Self], config_workflow: ConfigWorkflow) -> Wo
data=config_workflow.data,
parameters=config_workflow.parameters,
)

def create_workflow_from_config_file(config_filename: str) -> Workflow:
"""
Loads a python representation of a workflow config file.
:param config_filename: the string to the config yaml file containing the workflow definition
"""
config_workflow = ConfigWorkflow.from_config_file(config_filename)
Workflow.from_config_workflow(config_workflow, rootdir)
10 changes: 6 additions & 4 deletions tests/unit_tests/core/test_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

from sirocco import pretty_print
from sirocco.core import Workflow
from sirocco.parsing import _yaml_data_models as models

# Note: import of ShellTask is required to populated in Task.plugin_classes in __init_subclass__
from sirocco.core._tasks.shell_task import ShellTask
from sirocco.core._tasks.shell_task import ShellTask # noqa: F401
from sirocco.parsing import _yaml_data_models as models


def test_minimal_workflow():
Expand All @@ -22,10 +23,11 @@ def test_minimal_workflow():

testee = Workflow.from_config_workflow(minimal_config)

data_dict = testee._build_data_dict(minimal_config.data)
data_dict = testee._build_data_dict(minimal_config.data) # noqa: SLF001
tasks_dict = testee._build_tasks_dict(minimal_config.tasks) # noqa: SLF001
assert data_dict["foo"].name == "foo"
assert data_dict["bar"].name == "bar"
assert testee._build_task_dict(minimal_config.tasks)["some_task"].name == "some_task"
assert tasks_dict["some_task"].name == "some_task"

pretty_print.PrettyPrinter().format(testee)

Expand Down
1 change: 0 additions & 1 deletion tests/unit_tests/parsing/test_yaml_data_models.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import pathlib
import textwrap

from sirocco.parsing import _yaml_data_models as models
Expand Down

0 comments on commit 388a154

Please sign in to comment.