diff options
Diffstat (limited to 'functest/utils/config.py')
-rw-r--r-- | functest/utils/config.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/functest/utils/config.py b/functest/utils/config.py index f4749a75b..40414b88b 100644 --- a/functest/utils/config.py +++ b/functest/utils/config.py @@ -2,21 +2,24 @@ # pylint: disable=missing-docstring -import os import pkg_resources import yaml import six +from functest.utils import env -class Config(object): + +class Config(): def __init__(self): try: with open(pkg_resources.resource_filename( - 'functest', 'ci/config_functest.yaml')) as yfile: + 'functest', 'ci/config_functest.yaml'), + encoding='utf-8') as yfile: self.functest_yaml = yaml.safe_load(yfile) except Exception as error: - raise Exception('Parse config failed: {}'.format(str(error))) + raise Exception( + f'Parse config failed: {str(error)}') from error @staticmethod def _merge_dicts(dict1, dict2): @@ -32,11 +35,11 @@ class Config(object): yield (k, dict2[k]) def patch_file(self, patch_file_path): - with open(patch_file_path) as yfile: + with open(patch_file_path, encoding='utf-8') as yfile: patch_file = yaml.safe_load(yfile) for key in patch_file: - if key in os.environ.get('DEPLOY_SCENARIO', ""): + if key in env.get('DEPLOY_SCENARIO'): self.functest_yaml = dict(Config._merge_dicts( self.functest_yaml, patch_file[key])) @@ -44,26 +47,27 @@ class Config(object): for param_n, param_v in six.iteritems(left_parametes): attr_further = self._get_attr_further(attr_now, param_n) if attr_further: - self.__setattr__(attr_further, param_v) + setattr(self, attr_further, param_v) if isinstance(param_v, dict): self._parse(attr_further, param_v) @staticmethod def _get_attr_further(attr_now, next): # pylint: disable=redefined-builtin return attr_now if next == 'general' else ( - '{}_{}'.format(attr_now, next) if attr_now else next) + f'{attr_now}_{next}' if attr_now else next) def fill(self): try: self._parse(None, self.functest_yaml) except Exception as error: - raise Exception('Parse config failed: {}'.format(str(error))) + raise Exception( + f'Parse config failed: {str(error)}') from error CONF = Config() CONF.patch_file(pkg_resources.resource_filename( 'functest', 'ci/config_patch.yaml')) -if os.getenv("POD_ARCH", None) and os.getenv("POD_ARCH", None) in ['aarch64']: +if env.get("POD_ARCH") in ['aarch64']: CONF.patch_file(pkg_resources.resource_filename( 'functest', 'ci/config_aarch64_patch.yaml')) CONF.fill() |