Now support multiple -k options on the command line.

Patch by Vladimir Marek

fixes #113
This commit is contained in:
John Goerzen 2010-04-21 09:17:08 -05:00
parent 6fbb23a8c5
commit 9c6581eb39

View File

@ -50,11 +50,15 @@ def lock(config, ui):
def startup(versionno): def startup(versionno):
assert versionno == version.versionstr, "Revision of main program (%s) does not match that of library (%s). Please double-check your PYTHONPATH and installation locations." % (versionno, version.versionstr) assert versionno == version.versionstr, "Revision of main program (%s) does not match that of library (%s). Please double-check your PYTHONPATH and installation locations." % (versionno, version.versionstr)
options = {} options = {}
options['-k'] = []
if '--help' in sys.argv[1:]: if '--help' in sys.argv[1:]:
sys.stdout.write(version.getcmdhelp() + "\n") sys.stdout.write(version.getcmdhelp() + "\n")
sys.exit(0) sys.exit(0)
for optlist in getopt(sys.argv[1:], 'P:1oqa:c:d:l:u:hk:f:')[0]: for optlist in getopt(sys.argv[1:], 'P:1oqa:c:d:l:u:hk:f:')[0]:
if optlist[0] == '-k':
options[optlist[0]].append(optlist[1])
else:
options[optlist[0]] = optlist[1] options[optlist[0]] = optlist[1]
if options.has_key('-h'): if options.has_key('-h'):
@ -81,9 +85,8 @@ def startup(versionno):
config.read(configfilename) config.read(configfilename)
# override config values with option '-k' # override config values with option '-k'
for option in options.keys(): for option in options['-k']:
if option == '-k': (key, value) = option.split('=', 1)
(key, value) = options['-k'].split('=', 1)
if ':' in key: if ':' in key:
(secname, key) = key.split(':', 1) (secname, key) = key.split(':', 1)
section = secname.replace("_", " ") section = secname.replace("_", " ")