From: Scott Baker <smbaker@gmail.com>
Date: Fri, 3 Jan 2014 18:45:28 +0000 (-0800)
Subject: replace OptionParser with a simpler version to eliminate conflicts with programs... 
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=9c9a47f7b733262eb7c37dda1a496e3fb1753ef3;p=plstackapi.git

replace OptionParser with a simpler version to eliminate conflicts with programs that use options (like django evolution)
---

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 <something>" 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 = """