X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b6487d6773406f0da6724e24ad5ce6a94e1009cd..ab7c97818a088e7205d4d01db1e8a0c0709b9aa0:/sdk/python/arvados/config.py?ds=sidebyside diff --git a/sdk/python/arvados/config.py b/sdk/python/arvados/config.py index 2b8374afb5..c3b9b4073d 100644 --- a/sdk/python/arvados/config.py +++ b/sdk/python/arvados/config.py @@ -14,17 +14,30 @@ EMPTY_BLOCK_LOCATOR = 'd41d8cd98f00b204e9800998ecf8427e+0' def initialize(config_file=default_config_file): global _settings _settings = {} - if os.path.exists(config_file): - with open(config_file, "r") as f: - for config_line in f: - if re.match('^\s*#', config_line): - continue - var, val = config_line.rstrip().split('=', 2) - _settings[var] = val + + # load the specified config file if available + try: + _settings = load(config_file) + except IOError: + pass + + # override any settings with environment vars for var in os.environ: if var.startswith('ARVADOS_'): _settings[var] = os.environ[var] +def load(config_file): + cfg = {} + with open(config_file, "r") as f: + for config_line in f: + if re.match('^\s*$', config_line): + continue + if re.match('^\s*#', config_line): + continue + var, val = config_line.rstrip().split('=', 2) + cfg[var] = val + return cfg + def flag_is_true(key): return get(key, '').lower() in set(['1', 't', 'true', 'y', 'yes'])