From 9c9a47f7b733262eb7c37dda1a496e3fb1753ef3 Mon Sep 17 00:00:00 2001 From: Scott Baker Date: Fri, 3 Jan 2014 10:45:28 -0800 Subject: [PATCH] replace OptionParser with a simpler version to eliminate conflicts with programs that use options (like django evolution) --- planetstack/planetstack/config.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/planetstack/planetstack/config.py b/planetstack/planetstack/config.py index 86e3bbd..f7d9c9e 100644 --- a/planetstack/planetstack/config.py +++ b/planetstack/planetstack/config.py @@ -7,7 +7,6 @@ import tempfile import codecs from StringIO import StringIO from util.xml import Xml -from optparse import OptionParser default_config = \ """ @@ -36,15 +35,18 @@ class Config: self.load(self.filename) def get_config_fn(self): - parser = OptionParser(usage="%s [options]" % sys.argv[0], - description="The planetstack observer") - - parser.add_option("-C", "--config-file", dest="config_fn", - help="name of observer config file", metavar="FILENAME", default=DEFAULT_CONFIG_FN) - - (options, args) = parser.parse_args(sys.argv[1:]) - - return options.config_fn + # Look for "-C " to get the + # name of the config file. Using a real OptionParser here is + # problematic as it will throw 'no such option' errors for options + # that it does not understand. + + last = None + for arg in sys.argv: + if (last=="-C"): + return arg + last = arg + + return DEFAULT_CONFIG_FN def _header(self): header = """ -- 2.45.2