Skip to content
Snippets Groups Projects
Commit 6c523c41 authored by dadjavon's avatar dadjavon
Browse files

Move base processes to Agora and add gitignore.

Former-commit-id: 73ecde595bb869f65677f91e3aa69fc09d98d5c0
parent 0cb3d522
No related branches found
No related tags found
No related merge requests found
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
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
......
......@@ -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
......
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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment