import pathlib from datetime import datetime from cpl.application.application_runtime_abc import ApplicationRuntimeABC class ApplicationRuntime(ApplicationRuntimeABC): def __init__(self): """ Representation of the application runtime """ ApplicationRuntimeABC.__init__(self) self._start_time: datetime = datetime.now() self._end_time: datetime = datetime.now() self._working_directory = pathlib.Path().absolute() self._runtime_directory = pathlib.Path(__file__).parent.absolute() @property def start_time(self) -> datetime: return self._start_time @property def end_time(self) -> datetime: return self._end_time @end_time.setter def end_time(self, end_time: datetime): self._end_time = end_time @property def date_time_now(self) -> datetime: return datetime.now() @property def working_directory(self) -> str: return self._working_directory def set_working_directory(self, path: str = ''): if path != '': self._working_directory = path return self._working_directory = pathlib.Path().absolute() @property def runtime_directory(self) -> str: return self._runtime_directory def set_runtime_directory(self, file: str): self._runtime_directory = pathlib.Path(file).parent.absolute()