diff --git a/webagg/test/testutils.py b/webagg/test/testutils.py index fc5a0a8a..c9ba5be0 100644 --- a/webagg/test/testutils.py +++ b/webagg/test/testutils.py @@ -68,6 +68,7 @@ class FakeRedisTests(object): @classmethod def teardown_class(cls): super(FakeRedisTests, cls).teardown_class() + FakeStrictRedis().flushall() cls.redismock.stop() diff --git a/webagg/utils.py b/webagg/utils.py index 6c9121b5..5617d048 100644 --- a/webagg/utils.py +++ b/webagg/utils.py @@ -1,6 +1,8 @@ import re import six import string +import yaml +import os from contextlib import closing @@ -174,3 +176,25 @@ def chunk_encode_iter(orig_iter): yield b'0\r\n\r\n' +#============================================================================= +def load_config(main_env_var, main_default_file='', + overlay_env_var='', overlay_file=''): + + configfile = os.environ.get(main_env_var, main_default_file) + + if configfile: + # Load config + with open(configfile, 'rb') as fh: + config = yaml.load(fh) + + else: + config = {} + + overlay_configfile = os.environ.get(overlay_env_var, overlay_file) + + if overlay_configfile: + with open(overlay_configfile, 'rb') as fh: + config.update(yaml.load(fh)) + + return config +