import logging from doit import get_var from ee.ds import DataSetManager 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 DoItConfig(object): def __init__(self): self._dsm = None # type: DataSetManager self._data_sets = {} def configure(self, *, data_set_manager: DataSetManager): self._dsm = data_set_manager @property def dsm(self): if not self._dsm: raise Exception("The DataSetManager has not been set") return self._dsm def data_sets_for(self, task): return self._data_sets[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, in_datasets]