Merge branch '21666-provision-test-improvement'
[arvados.git] / sdk / python / arvados / config.py
index c3b9b4073dd6b84fd3162d08da6bd0708f75b8ca..6f3bd027901181a5e68e79218d383dec4d13c32a 100644 (file)
@@ -1,3 +1,7 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
 # config.py - configuration settings and global variables for Arvados clients
 #
 # Arvados configuration settings are taken from $HOME/.config/arvados.
@@ -7,8 +11,12 @@ import os
 import re
 
 _settings = None
-default_config_file = os.environ['HOME'] + '/.config/arvados/settings.conf'
+if os.environ.get('HOME') is not None:
+    default_config_file = os.environ['HOME'] + '/.config/arvados/settings.conf'
+else:
+    default_config_file = ''
 
+KEEP_BLOCK_SIZE = 2**26
 EMPTY_BLOCK_LOCATOR = 'd41d8cd98f00b204e9800998ecf8427e+0'
 
 def initialize(config_file=default_config_file):
@@ -30,16 +38,16 @@ 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):
+            if re.match(r'^\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'])
+def flag_is_true(key, d=None):
+    if d is None:
+        d = settings()
+    return d.get(key, '').lower() in set(['1', 't', 'true', 'y', 'yes'])
 
 def get(key, default_val=None):
     return settings().get(key, default_val)