Loading pygriffin/config.py +6 −5 Original line number Diff line number Diff line Loading @@ -23,23 +23,24 @@ class PyGriffinConfig(): """ __MOD_PATH = os.path.abspath(os.path.dirname(__file__)) __RC_FILE = __MOD_PATH + '/.pygriffin.rc' _RC_FILE = __MOD_PATH + '/.pygriffin.rc' def __init__(self, griffin_exec=None): # always read the config file, # even if we don't use it self.__config = ConfigParser() self.__config.read(self.__RC_FILE) print("Parsing file {}".format(self._RC_FILE)) self.__config.read(self._RC_FILE) # if the Griffin path parameter is set, use that if griffin_exec is not None: self.griffin_exec = griffin_exec # next, try the GRIFFFIN_EXEC environment variable elif os.getenv('GRIFFIN_EXEC') is not None: self.griffin_dir = os.getenv('GRIFFIN_EXEC') self.griffin_exec = os.getenv('GRIFFIN_EXEC') elif self.get('exec', 'griffin'): self.griffin_exec = self.get('griffin_exec') self.griffin_exec = self.get('exec', 'griffin') else: msg = ('All methods of determining the location ' 'of the Griffin executable have failed.') Loading Loading @@ -76,4 +77,4 @@ class PyGriffinConfig(): @property def rc_file(self): return self.__RC_FILE return self._RC_FILE tests/test_config.py +13 −0 Original line number Diff line number Diff line import os import pytest from pathlib import Path Loading @@ -6,9 +7,21 @@ from pygriffin import PyGriffinConfig def test_griffin_exec_direct(): config = PyGriffinConfig(griffin_exec='./griffin_mock') assert config.griffin_exec == Path('./griffin_mock').absolute() assert config.griffin_dir == Path('.').absolute() def test_griffin_exec_config(): PyGriffinConfig._RC_FILE = "./.pygriffin.test.rc" config = PyGriffinConfig() assert config.griffin_exec == Path('./griffin_mock').absolute() assert config.griffin_dir == Path('.').absolute() def test_griffin_env_config(): os.environ['GRIFFIN_EXEC'] = str(Path("./griffin_mock")) config = PyGriffinConfig() assert config.griffin_exec == Path('./griffin_mock').absolute() assert config.griffin_dir == Path('.').absolute() if __name__ == "__main__": pytest.main() Loading
pygriffin/config.py +6 −5 Original line number Diff line number Diff line Loading @@ -23,23 +23,24 @@ class PyGriffinConfig(): """ __MOD_PATH = os.path.abspath(os.path.dirname(__file__)) __RC_FILE = __MOD_PATH + '/.pygriffin.rc' _RC_FILE = __MOD_PATH + '/.pygriffin.rc' def __init__(self, griffin_exec=None): # always read the config file, # even if we don't use it self.__config = ConfigParser() self.__config.read(self.__RC_FILE) print("Parsing file {}".format(self._RC_FILE)) self.__config.read(self._RC_FILE) # if the Griffin path parameter is set, use that if griffin_exec is not None: self.griffin_exec = griffin_exec # next, try the GRIFFFIN_EXEC environment variable elif os.getenv('GRIFFIN_EXEC') is not None: self.griffin_dir = os.getenv('GRIFFIN_EXEC') self.griffin_exec = os.getenv('GRIFFIN_EXEC') elif self.get('exec', 'griffin'): self.griffin_exec = self.get('griffin_exec') self.griffin_exec = self.get('exec', 'griffin') else: msg = ('All methods of determining the location ' 'of the Griffin executable have failed.') Loading Loading @@ -76,4 +77,4 @@ class PyGriffinConfig(): @property def rc_file(self): return self.__RC_FILE return self._RC_FILE
tests/test_config.py +13 −0 Original line number Diff line number Diff line import os import pytest from pathlib import Path Loading @@ -6,9 +7,21 @@ from pygriffin import PyGriffinConfig def test_griffin_exec_direct(): config = PyGriffinConfig(griffin_exec='./griffin_mock') assert config.griffin_exec == Path('./griffin_mock').absolute() assert config.griffin_dir == Path('.').absolute() def test_griffin_exec_config(): PyGriffinConfig._RC_FILE = "./.pygriffin.test.rc" config = PyGriffinConfig() assert config.griffin_exec == Path('./griffin_mock').absolute() assert config.griffin_dir == Path('.').absolute() def test_griffin_env_config(): os.environ['GRIFFIN_EXEC'] = str(Path("./griffin_mock")) config = PyGriffinConfig() assert config.griffin_exec == Path('./griffin_mock').absolute() assert config.griffin_dir == Path('.').absolute() if __name__ == "__main__": pytest.main()