Minor update to parsing

This commit is contained in:
Griatch 2015-03-05 15:04:20 +01:00
parent 8af908d4f7
commit d3f06218f8

View file

@ -93,11 +93,11 @@ CREATED_NEW_GAMEDIR = \
""" """
ERROR_INPUT = \ ERROR_INPUT = \
""" """
The argument(s) Command
{args} {kwargs} {args} {kwargs}
is/are not recognized by Evennia nor Django. Use -h for help. raised an error: '{traceback}'.
""" """
ERROR_NO_GAMEDIR = \ ERROR_NO_GAMEDIR = \
""" """
@ -903,6 +903,8 @@ def main():
help="Start given server component under the Python profiler.") help="Start given server component under the Python profiler.")
parser.add_argument('--dummyrunner', nargs=1, action='store', dest='dummyrunner', metavar="N", parser.add_argument('--dummyrunner', nargs=1, action='store', dest='dummyrunner', metavar="N",
help="Tests a running server by connecting N dummy players to it.") help="Tests a running server by connecting N dummy players to it.")
parser.add_argument('--settings', nargs=1, action='store', dest='customsettings', metavar="/rel/path/to/file",
help="Start evennia with an alternative settings file.")
parser.add_argument("option", nargs='?', default="noop", parser.add_argument("option", nargs='?', default="noop",
help="Operational mode: 'start', 'stop', 'restart' or 'menu'.") help="Operational mode: 'start', 'stop', 'restart' or 'menu'.")
parser.add_argument("service", metavar="component", nargs='?', default="all", parser.add_argument("service", metavar="component", nargs='?', default="all",
@ -961,15 +963,19 @@ def main():
if unknown_args: if unknown_args:
for arg in unknown_args: for arg in unknown_args:
if arg.startswith("--"): if arg.startswith("--"):
kwargs[arg.lstrip("--")] = True if "=" in arg:
arg, value = [p.strip() for p in arg.split("=", 1)]
else:
value = True
kwargs[arg.lstrip("--")] = value
else: else:
args.append(arg) args.append(arg)
try: try:
django.core.management.call_command(*args, **kwargs) django.core.management.call_command(*args, **kwargs)
except django.core.management.base.CommandError: except django.core.management.base.CommandError, exc:
args = ", ".join(args) args = ", ".join(args)
kwargs = ", ".join(["--%s" % kw for kw in kwargs]) kwargs = ", ".join(["--%s" % kw for kw in kwargs])
print ERROR_INPUT.format(args=args, kwargs=kwargs) print ERROR_INPUT.format(traceback=exc, args=args, kwargs=kwargs)
else: else:
# no input; print evennia info # no input; print evennia info
print ABOUT_INFO print ABOUT_INFO