|
@@ -149,6 +149,21 @@ class LaxOptionParser(OptionParser):
|
|
|
def error(self, msg):
|
|
|
pass
|
|
|
|
|
|
+ def print_help(self):
|
|
|
+ """Output nothing.
|
|
|
+
|
|
|
+ The lax options are included in the normal option parser, so under
|
|
|
+ normal usage, we don't need to print the lax options.
|
|
|
+ """
|
|
|
+ pass
|
|
|
+
|
|
|
+ def print_lax_help(self):
|
|
|
+ """Output the basic options available to every command.
|
|
|
+
|
|
|
+ This just redirects to the default print_help() behaviour.
|
|
|
+ """
|
|
|
+ OptionParser.print_help(self)
|
|
|
+
|
|
|
def _process_args(self, largs, rargs, values):
|
|
|
"""
|
|
|
Overrides OptionParser._process_args to exclusively handle default
|
|
@@ -195,9 +210,7 @@ class ManagementUtility(object):
|
|
|
"""
|
|
|
Returns the script's main help text, as a string.
|
|
|
"""
|
|
|
- usage = ['%s <subcommand> [options] [args]' % self.prog_name]
|
|
|
- usage.append('Django command line tool, version %s' % django.get_version())
|
|
|
- usage.append("Type '%s help <subcommand>' for help on a specific subcommand." % self.prog_name)
|
|
|
+ usage = ['',"Type '%s help <subcommand>' for help on a specific subcommand." % self.prog_name,'']
|
|
|
usage.append('Available subcommands:')
|
|
|
commands = get_commands(self.user_commands, self.project_directory).keys()
|
|
|
commands.sort()
|
|
@@ -232,7 +245,9 @@ class ManagementUtility(object):
|
|
|
# Preprocess options to extract --settings and --pythonpath.
|
|
|
# These options could affect the commands that are available, so they
|
|
|
# must be processed early.
|
|
|
- parser = LaxOptionParser(version=get_version(), option_list=BaseCommand.option_list)
|
|
|
+ parser = LaxOptionParser(usage="%prog subcommand [options] [args]",
|
|
|
+ version=get_version(),
|
|
|
+ option_list=BaseCommand.option_list)
|
|
|
try:
|
|
|
options, args = parser.parse_args(self.argv)
|
|
|
handle_default_options(options)
|
|
@@ -249,6 +264,7 @@ class ManagementUtility(object):
|
|
|
if len(args) > 2:
|
|
|
self.fetch_command(args[2]).print_help(self.prog_name, args[2])
|
|
|
else:
|
|
|
+ parser.print_lax_help()
|
|
|
sys.stderr.write(self.main_help_text() + '\n')
|
|
|
sys.exit(1)
|
|
|
# Special-cases: We want 'django-admin.py --version' and
|
|
@@ -257,6 +273,7 @@ class ManagementUtility(object):
|
|
|
# LaxOptionParser already takes care of printing the version.
|
|
|
pass
|
|
|
elif self.argv[1:] == ['--help']:
|
|
|
+ parser.print_lax_help()
|
|
|
sys.stderr.write(self.main_help_text() + '\n')
|
|
|
else:
|
|
|
self.fetch_command(subcommand).run_from_argv(self.argv)
|