aboutsummaryrefslogtreecommitdiff
path: root/src/ee/doit.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ee/doit.py')
-rw-r--r--src/ee/doit.py94
1 files changed, 0 insertions, 94 deletions
diff --git a/src/ee/doit.py b/src/ee/doit.py
deleted file mode 100644
index 665f039..0000000
--- a/src/ee/doit.py
+++ /dev/null
@@ -1,94 +0,0 @@
-import logging
-from typing import Tuple, List, Mapping, Any
-
-from doit import get_var
-
-from ee.ds import DataSetManager
-
-logger = logging.getLogger(__name__)
-
-
-def configure_logging():
- log_level = get_var("log-level", None)
-
- if log_level:
- ee_logger = logging.getLogger("ee")
- formatter = logging.Formatter("%(levelname)s: %(message)s")
- ch = logging.StreamHandler()
- ch.setFormatter(formatter)
- ee_logger.addHandler(ch)
-
- ee_logger.setLevel(log_level)
-
-
-class Report(object):
- def __init__(self, task):
- self.task = task
-
-
-class ReportCollection(object):
- def __init__(self):
- self._reports = [] # type: List[Report]
-
- def add_report(self, report: Report):
- self._reports.append(report)
-
- @property
- def reports(self) -> Tuple[Report]:
- return tuple(self._reports)
-
-
-# This should probably be called "DoItModuleConfig" since it is used once per module. The module is responsible for
-# instantiating it.
-class DoItConfig(object):
- def __init__(self):
- self._dsm = None # type: DataSetManager
- self._report_collection = None # type: ReportCollection
- self._extra_config = None # type: Mapping[str, Any]
- self._data_sets = {}
- self._reports = []
-
- def configure(self, *, data_set_manager: DataSetManager, report_collection: ReportCollection = None,
- extra_config: Mapping[str, Any] = None):
- self._dsm = data_set_manager
- self._report_collection = report_collection if report_collection is not None else {}
- self._extra_config = extra_config
-
- @property
- def dsm(self) -> DataSetManager:
- if self._dsm is None:
- raise Exception("The data set manager has not been set")
- return self._dsm
-
- @property
- def report_collection(self):
- if self._report_collection is None:
- raise Exception("The report collection has not been set")
- return self._report_collection
-
- @property
- def extra_config(self):
- return self._extra_config
-
- def data_sets_for(self, task):
- try:
- return self._data_sets[task]
- except KeyError:
- raise KeyError("No such task registered in this module: {}".format(task))
-
- def out_data_set_for(self, task):
- return self.data_sets_for(task)[0]
-
- def input_data_sets_for(self, task):
- return self.data_sets_for(task)[1]
-
- def set_data_sets_for(self, task, out_dataset: str, *in_datasets: str):
- self._data_sets[task] = [out_dataset, list(in_datasets)]
-
- def change_data_sets_for_task(self, task, _callable):
- ds = self._data_sets[task]
- ds[1] = _callable(ds[1])
-
- def append_in_data_set_for_task(self, task, *data_sets: str):
- ds = self._data_sets[task]
- ds[1] = ds[1] + list(data_sets)