aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2009-07-17 23:29:27 +0000
committerRob Austein <sra@hactrn.net>2009-07-17 23:29:27 +0000
commit3ed1503f0b1bd3a9385a96d949b4579175e2f733 (patch)
treed185cc441b6aef45f64766c896a961992bceb278
parent7f4076879fd4cff1e22b44e88e8c896ebe7c18d7 (diff)
Ok, some config files really are optional
svn path=/rpkid/rpki/config.py; revision=2637
-rw-r--r--rpkid/rpki/config.py8
-rw-r--r--rpkid/testbed.py2
-rw-r--r--rtr-origin/rtr-origin.py2
3 files changed, 8 insertions, 4 deletions
diff --git a/rpkid/rpki/config.py b/rpkid/rpki/config.py
index 67364d21..07f6bfe3 100644
--- a/rpkid/rpki/config.py
+++ b/rpkid/rpki/config.py
@@ -46,14 +46,18 @@ class parser(object):
get-methods with default values and default section name.
"""
- def __init__(self, filename, section = None):
+ def __init__(self, filename, section = None, allow_missing = False):
"""
Initialize this parser.
"""
self.filename = filename
self.cfg = ConfigParser.RawConfigParser()
- self.cfg.readfp(open(filename), filename)
+ try:
+ self.cfg.readfp(open(filename), filename)
+ except IOError:
+ if not allow_missing:
+ raise
self.default_section = section
def has_section(self, section):
diff --git a/rpkid/testbed.py b/rpkid/testbed.py
index 451ec88a..1659bc61 100644
--- a/rpkid/testbed.py
+++ b/rpkid/testbed.py
@@ -75,7 +75,7 @@ if argv:
print __doc__
raise RuntimeError, "Unexpected arguments %s" % argv
-cfg = rpki.config.parser(cfg_file, "testbed")
+cfg = rpki.config.parser(cfg_file, "testbed", allow_missing = True)
# Load the YAML script early, so we can report errors ASAP
diff --git a/rtr-origin/rtr-origin.py b/rtr-origin/rtr-origin.py
index 5b00bda5..4ce3df0a 100644
--- a/rtr-origin/rtr-origin.py
+++ b/rtr-origin/rtr-origin.py
@@ -1089,6 +1089,6 @@ if mode is None:
rpki.log.init("rtr-origin/" + mode)
-#cfg = rpki.config.parser(cfg_file, "mode")
+cfg = rpki.config.parser(cfg_file, "mode", allow_missing = True)
main_dispatch[mode](argv)