From 6c523c416bdfc6925e8ada76e9c6ec69ee1bd1a9 Mon Sep 17 00:00:00 2001
From: Diane Adjavon <diane.adjavon@ed.ac.uk>
Date: Sat, 11 Sep 2021 12:14:06 +0100
Subject: [PATCH] Move base processes to Agora and add gitignore.

Former-commit-id: 73ecde595bb869f65677f91e3aa69fc09d98d5c0
---
 core/processes/base.py   | 54 ----------------------------------------
 core/processes/merger.py |  2 +-
 core/processes/picker.py |  2 +-
 core/processor.py        |  2 +-
 4 files changed, 3 insertions(+), 57 deletions(-)
 delete mode 100644 core/processes/base.py

diff --git a/core/processes/base.py b/core/processes/base.py
deleted file mode 100644
index 9dadb047..00000000
--- a/core/processes/base.py
+++ /dev/null
@@ -1,54 +0,0 @@
-from pathlib import Path, PosixPath
-from typing import Union
-from abc import ABC, abstractmethod
-
-from yaml import safe_load, dump
-
-
-class ParametersABC(ABC):
-    """
-    Base class to add yaml functionality to parameters
-
-    """
-
-    def to_dict(self):
-        return self.__dict__
-
-    @classmethod
-    def from_dict(cls, d: dict):
-        return cls(**d)
-
-    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]):
-        with open(Path(file)) as f:
-            params = safe_load(f)
-        return cls(**params)
-
-    @classmethod
-    @abstractmethod
-    def default(cls):
-        pass
-
-
-class ProcessABC(ABC):
-    "Base class for processes"
-
-    def __init__(self, parameters):
-        self._parameters = parameters
-
-        for k, v in parameters.to_dict().items():  # access parameters directly
-            setattr(self, k, v)
-
-    @property
-    def parameters(self):
-        return self._parameters
-
-    @abstractmethod
-    def run(self):
-        pass
diff --git a/core/processes/merger.py b/core/processes/merger.py
index 51a91bf9..b0f411b7 100644
--- a/core/processes/merger.py
+++ b/core/processes/merger.py
@@ -1,4 +1,4 @@
-from postprocessor.core.processes.base import ParametersABC, ProcessABC
+from agora.base import ParametersABC, ProcessABC
 from postprocessor.core.functions.tracks import clean_tracks, merge_tracks, join_tracks
 
 
diff --git a/core/processes/picker.py b/core/processes/picker.py
index 9ddd7281..6b0ae140 100644
--- a/core/processes/picker.py
+++ b/core/processes/picker.py
@@ -6,7 +6,7 @@ import pandas as pd
 
 from core.cells import CellsHDF
 
-from postprocessor.core.processes.base import ParametersABC, ProcessABC
+from agora.base import ParametersABC, ProcessABC
 from postprocessor.core.functions.tracks import max_ntps, max_nonstop_ntps
 
 
diff --git a/core/processor.py b/core/processor.py
index 7421a9bb..d51a2910 100644
--- a/core/processor.py
+++ b/core/processor.py
@@ -1,7 +1,7 @@
 from typing import List, Dict, Union
 import pandas as pd
 
-from postprocessor.core.processes.base import ParametersABC
+from agora.base import ParametersABC
 from postprocessor.core.processes.merger import MergerParameters, Merger
 from postprocessor.core.processes.picker import PickerParameters, Picker
 from postprocessor.core.io.writer import Writer
-- 
GitLab