diff --git a/core/processes/base.py b/core/processes/base.py index 8412fdb5f25404f30e6988327974dc4c44de200b..9dadb0470eab4de33f56538e9008382496415fda 100644 --- a/core/processes/base.py +++ b/core/processes/base.py @@ -2,6 +2,8 @@ from pathlib import Path, PosixPath from typing import Union from abc import ABC, abstractmethod +from yaml import safe_load, dump + class ParametersABC(ABC): """ @@ -16,8 +18,11 @@ class ParametersABC(ABC): def from_dict(cls, d: dict): return cls(**d) - def to_yaml(self, path: Union[PosixPath, str]): - return dump(self.__dict__, path) + def to_yaml(self, path: Union[PosixPath, str] = None): + if path: + with open(Path(path), "w") as f: + dump(self.to_dict(), f) + return dump(self.to_dict()) @classmethod def from_yaml(cls, path: Union[PosixPath, str]): diff --git a/core/processes/picker.py b/core/processes/picker.py index 367a88a1ad1a9e6145301f5f265aa48b0394d4ca..9ddd72813147f10dca026872af5871493324aefb 100644 --- a/core/processes/picker.py +++ b/core/processes/picker.py @@ -25,7 +25,7 @@ class PickerParameters(ParametersABC): def default(cls): return cls.from_dict( { - "condition": ("present", 0.8), + "condition": ["present", 0.8], "lineage": None, "sequence": ["lineage", "condition"], }