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