From 21b6c890719e36cd59e6d5a28514cb7189112c73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20He=C3=9F?= <rene.hess@iwr.uni-heidelberg.de> Date: Tue, 14 May 2019 10:25:20 +0200 Subject: [PATCH] Correctly load yaml files using pkg_resources --- python/dune/codegen/options.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/python/dune/codegen/options.py b/python/dune/codegen/options.py index 62085e85..11af17ae 100644 --- a/python/dune/codegen/options.py +++ b/python/dune/codegen/options.py @@ -5,6 +5,7 @@ from os.path import abspath from pytools import ImmutableRecord, memoize import cerberus import yaml +import pkg_resources from dune.testtools.parametertree.parser import parse_ini_file @@ -148,24 +149,24 @@ def initialize_options(): _global_options = update_options_from_inifile(_global_options) # Validate global options - filename = '/home/rene/phd/dune-les/dune-codegen/python/dune/codegen/options_global.yaml' - # filename = 'options_global.yaml' - with open(filename, 'r') as stream: - try: - scheme_global = yaml.safe_load(stream) - except Exception as e: - raise e + resource_package = __name__ + resource_path = 'options_global.yaml' + yaml_stream = pkg_resources.resource_string(resource_package, resource_path) + try: + scheme_global = yaml.safe_load(yaml_stream) + except Exception as e: + raise e validator_global = CodegenOptionsValidator(scheme_global) if not validator_global.validate(_global_options.__dict__): raise RuntimeError("Global options validation failed: {}".format(validator_global.errors)) # Validate form options - filename = '/home/rene/phd/dune-les/dune-codegen/python/dune/codegen/options_form.yaml' - with open(filename, 'r') as stream: - try: - scheme_form = yaml.safe_load(stream) - except Exception as e: - raise e + resource_path = 'options_form.yaml' + yaml_stream = pkg_resources.resource_string(resource_package, resource_path) + try: + scheme_form = yaml.safe_load(yaml_stream) + except Exception as e: + raise e validator_form = CodegenOptionsValidator(scheme_form) for form in [i.strip() for i in _global_options.operators.split(",")]: if not validator_form.validate(_form_options[form].__dict__): -- GitLab