summaryrefslogtreecommitdiff
path: root/tools/readconfig.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/readconfig.py')
-rw-r--r--tools/readconfig.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/tools/readconfig.py b/tools/readconfig.py
index 69531ca..028e319 100644
--- a/tools/readconfig.py
+++ b/tools/readconfig.py
@@ -5,16 +5,19 @@ import yaml
import base64
import sys
+def render_path(path):
+ if path:
+ return "'" + ", ".join(path) + "'"
+ else:
+ return "the top level"
+
class ErrorHandlingDict(dict):
def __init__(self, filename, path):
self._filename = filename
self._path = path
dict.__init__({})
def __missing__(self, key):
- if self._path:
- path = ", ".join(self._path)
- else:
- path = "the top level"
+ path = render_path(self._path)
print >>sys.stderr, "error: could not find configuration key '%s' at %s in %s" % (key, path, self._filename)
sys.exit(1)
@@ -52,8 +55,9 @@ def verify_and_read_config(filename, publickey_base64):
signature = open(filename + ".sig").read()
verify_config(rawconfig, signature, publickey_base64, filename)
-
- return errorhandlify(yaml.load(io.BytesIO(rawconfig), yaml.SafeLoader), filename)
+ config = yaml.load(io.BytesIO(rawconfig), yaml.SafeLoader)
+ return errorhandlify(config, filename)
def read_config(filename):
- return errorhandlify(yaml.load(open(filename), yaml.SafeLoader), filename)
+ config = yaml.load(open(filename), yaml.SafeLoader)
+ return errorhandlify(config, filename)