From cf1b141e95e2f5de1a373157a6ed97e4e96902f1 Mon Sep 17 00:00:00 2001 From: Rolo Date: Tue, 9 Apr 2013 13:22:04 +0100 Subject: [PATCH] Switch to using argparse to parse DJANGO_CONFIGURATION command line value, as OptionParser was exiting when encountering additional manage.py options. Fixes #21 --- configurations/importer.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/configurations/importer.py b/configurations/importer.py index fd60d73..46216e3 100644 --- a/configurations/importer.py +++ b/configurations/importer.py @@ -1,3 +1,4 @@ +import argparse import imp import os import sys @@ -84,10 +85,13 @@ class SettingsImporter(object): error_msg = "Settings cannot be imported, environment variable %s is undefined." def __init__(self): - parser = OptionParser(option_list=configuration_options, add_help_option=False) - options, args = parser.parse_args(sys.argv[2:]) - if options.configuration: - os.environ[self.class_varname] = options.configuration + parser = argparse.ArgumentParser(add_help=False) + for option in configuration_options: + parser.add_argument(option.get_opt_string()) + known_options, unknown_options = parser.parse_known_args() + + if known_options.configuration: + os.environ[self.class_varname] = known_options.configuration self.validate() def __repr__(self):