From dc849c4f71c8d21a4eae020a94f69b0abec51ec1 Mon Sep 17 00:00:00 2001 From: Sven Heidemann Date: Wed, 7 Apr 2021 18:06:07 +0200 Subject: [PATCH] Improved application environment --- .../environment/application_environment.py | 26 +++++++++++-------- .../application_environment_abc.py | 9 +++++++ 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/src/cpl/environment/application_environment.py b/src/cpl/environment/application_environment.py index 7bb76f13..d6bb09e6 100644 --- a/src/cpl/environment/application_environment.py +++ b/src/cpl/environment/application_environment.py @@ -81,18 +81,22 @@ class ApplicationEnvironment(ApplicationEnvironmentABC): @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() + return str(self._working_directory) @property def runtime_directory(self) -> str: - return self._runtime_directory + return str(self._runtime_directory) - def set_runtime_directory(self, file: str): - self._runtime_directory = pathlib.Path(file).parent.absolute() + def set_runtime_directory(self, runtime_directory: str): + if runtime_directory != '': + self._runtime_directory = runtime_directory + return + + self._runtime_directory = pathlib.Path().absolute() + + def set_working_directory(self, working_directory: str): + if working_directory != '': + self._working_directory = working_directory + return + + self._working_directory = pathlib.Path().absolute() diff --git a/src/cpl/environment/application_environment_abc.py b/src/cpl/environment/application_environment_abc.py index c306f53f..7763cf2e 100644 --- a/src/cpl/environment/application_environment_abc.py +++ b/src/cpl/environment/application_environment_abc.py @@ -83,3 +83,12 @@ class ApplicationEnvironmentABC(ABC): :return: """ pass + + @abstractmethod + def set_working_directory(self, working_directory: str): + """ + Sets the current working directory + :param working_directory: + :return: + """ + pass