From eccf820dfd325c57346467d652ce8e414bf17363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Al=C3=A1n=20Mu=C3=B1oz?= <amuoz@ed.ac.uk> Date: Wed, 16 Jun 2021 20:17:55 +0100 Subject: [PATCH] yaml is alive! Former-commit-id: 6ea363c356a58fb0b5dcc86b431f5eeb32a968a2 --- core/processes/base.py | 9 +++++++-- core/processes/picker.py | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/core/processes/base.py b/core/processes/base.py index 8412fdb5..9dadb047 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 367a88a1..9ddd7281 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"], } -- GitLab