Browse Source

Promoted --verbosity to be a top level option for all management commands. Also added -v as a consistent short form of --verbosity. This is mostly to save Malcolm's poor arthritic fingers.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@9110 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Russell Keith-Magee 16 years ago
parent
commit
8d98e70e42

+ 4 - 1
django/core/management/base.py

@@ -121,6 +121,9 @@ class BaseCommand(object):
     """
     # Metadata about this command.
     option_list = (
+        make_option('-v', '--verbosity', action='store', dest='verbosity', default='1',
+            type='choice', choices=['0', '1', '2'],
+            help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'),
         make_option('--settings',
             help='The Python path to a settings module, e.g. "myproject.settings.main". If this isn\'t provided, the DJANGO_SETTINGS_MODULE environment variable will be used.'),
         make_option('--pythonpath',
@@ -209,7 +212,7 @@ class BaseCommand(object):
                 from django.utils import translation
                 translation.activate('en-us')
             except ImportError, e:
-                # If settings should be available, but aren't, 
+                # If settings should be available, but aren't,
                 # raise the error and quit.
                 sys.stderr.write(self.style.ERROR(str('Error: %s\n' % e)))
                 sys.exit(1)

+ 0 - 3
django/core/management/commands/flush.py

@@ -4,9 +4,6 @@ from optparse import make_option
 
 class Command(NoArgsCommand):
     option_list = NoArgsCommand.option_list + (
-        make_option('--verbosity', action='store', dest='verbosity', default='1',
-            type='choice', choices=['0', '1', '2'],
-            help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'),
         make_option('--noinput', action='store_false', dest='interactive', default=True,
             help='Tells Django to NOT prompt the user for input of any kind.'),
     )

+ 7 - 12
django/core/management/commands/loaddata.py

@@ -10,11 +10,6 @@ except NameError:
     from sets import Set as set   # Python 2.3 fallback
 
 class Command(BaseCommand):
-    option_list = BaseCommand.option_list + (
-        make_option('--verbosity', action='store', dest='verbosity', default='1',
-            type='choice', choices=['0', '1', '2'],
-            help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'),
-    )
     help = 'Installs the named fixture(s) in the database.'
     args = "fixture [fixture ...]"
 
@@ -28,15 +23,15 @@ class Command(BaseCommand):
 
         verbosity = int(options.get('verbosity', 1))
         show_traceback = options.get('traceback', False)
-        
-        # commit is a stealth option - it isn't really useful as 
+
+        # commit is a stealth option - it isn't really useful as
         # a command line option, but it can be useful when invoking
-        # loaddata from within another script. 
+        # loaddata from within another script.
         # If commit=True, loaddata will use its own transaction;
         # if commit=False, the data load SQL will become part of
         # the transaction in place when loaddata was invoked.
         commit = options.get('commit', True)
-        
+
         # Keep a count of the installed objects and fixtures
         fixture_count = 0
         object_count = 0
@@ -151,7 +146,7 @@ class Command(BaseCommand):
             transaction.rollback()
             transaction.leave_transaction_management()
             return
-            
+
         # If we found even one object in a fixture, we need to reset the
         # database sequences.
         if object_count > 0:
@@ -161,7 +156,7 @@ class Command(BaseCommand):
                     print "Resetting sequences"
                 for line in sequence_sql:
                     cursor.execute(line)
-        
+
         if commit:
             transaction.commit()
             transaction.leave_transaction_management()
@@ -172,7 +167,7 @@ class Command(BaseCommand):
         else:
             if verbosity > 0:
                 print "Installed %d object(s) from %d fixture(s)" % (object_count, fixture_count)
-                
+
         # Close the DB connection. This is required as a workaround for an
         # edge case in MySQL: if the same connection is used to
         # create tables, load data, and query, the query can return

+ 0 - 3
django/core/management/commands/makemessages.py

@@ -170,9 +170,6 @@ class Command(BaseCommand):
             help='Creates or updates the message files only for the given locale (e.g. pt_BR).'),
         make_option('--domain', '-d', default='django', dest='domain',
             help='The domain of the message files (default: "django").'),
-        make_option('--verbosity', '-v', action='store', dest='verbosity',
-            default='1', type='choice', choices=['0', '1', '2'],
-            help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'),
         make_option('--all', '-a', action='store_true', dest='all',
             default=False, help='Reexamines all source code and templates for new translation strings and updates all message files for all available languages.'),
         make_option('--extension', '-e', dest='extensions',

+ 3 - 6
django/core/management/commands/syncdb.py

@@ -10,9 +10,6 @@ except NameError:
 
 class Command(NoArgsCommand):
     option_list = NoArgsCommand.option_list + (
-        make_option('--verbosity', action='store', dest='verbosity', default='1',
-            type='choice', choices=['0', '1', '2'],
-            help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'),
         make_option('--noinput', action='store_false', dest='interactive', default=True,
             help='Tells Django to NOT prompt the user for input of any kind.'),
     )
@@ -41,7 +38,7 @@ class Command(NoArgsCommand):
                 # but raises an ImportError for some reason. The only way we
                 # can do this is to check the text of the exception. Note that
                 # we're a bit broad in how we check the text, because different
-                # Python implementations may not use the same text. 
+                # Python implementations may not use the same text.
                 # CPython uses the text "No module named management"
                 # PyPy uses "No module named myproject.myapp.management"
                 msg = exc.args[0]
@@ -99,10 +96,10 @@ class Command(NoArgsCommand):
         # Send the post_syncdb signal, so individual apps can do whatever they need
         # to do at this point.
         emit_post_sync_signal(created_models, verbosity, interactive)
-        
+
         # The connection may have been closed by a syncdb handler.
         cursor = connection.cursor()
-        
+
         # Install custom SQL for the app (but only if this
         # is a model we've just created)
         for app in models.get_apps():

+ 1 - 4
django/core/management/commands/test.py

@@ -4,9 +4,6 @@ import sys
 
 class Command(BaseCommand):
     option_list = BaseCommand.option_list + (
-        make_option('--verbosity', action='store', dest='verbosity', default='1',
-            type='choice', choices=['0', '1', '2'],
-            help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'),
         make_option('--noinput', action='store_false', dest='interactive', default=True,
             help='Tells Django to NOT prompt the user for input of any kind.'),
     )
@@ -20,7 +17,7 @@ class Command(BaseCommand):
 
         verbosity = int(options.get('verbosity', 1))
         interactive = options.get('interactive', True)
-    
+
         test_path = settings.TEST_RUNNER.split('.')
         # Allow for Python 2.5 relative paths
         if len(test_path) > 1:

+ 1 - 4
django/core/management/commands/testserver.py

@@ -4,10 +4,7 @@ from optparse import make_option
 
 class Command(BaseCommand):
     option_list = BaseCommand.option_list + (
-        make_option('--verbosity', action='store', dest='verbosity', default='1',
-            type='choice', choices=['0', '1', '2'],
-            help='Verbosity level; 0=minimal output, 1=normal output, 2=all output'),
-        make_option('--addrport', action='store', dest='addrport', 
+        make_option('--addrport', action='store', dest='addrport',
             type='string', default='',
             help='port number or ipaddr:port to run the server on'),
     )

+ 24 - 82
docs/ref/django-admin.txt

@@ -85,17 +85,13 @@ Displaying debug output
 .. django-admin-option:: --verbosity <amount>
 
 Use ``--verbosity`` to specify the amount of notification and debug information
-that ``django-admin.py`` should print to the console.
-
-    * ``0`` means no output.
-    * ``1`` means normal output (default).
-    * ``2`` means verbose output.
-
+that ``django-admin.py`` should print to the console. For more details, see the
+documentation for the :ref:`default options for django-admin.py <django-admin-verbosity>`.
 
 Available subcommands
 =====================
 
-cleanup 
+cleanup
 -------
 
 .. versionadded:: 1.0
@@ -122,7 +118,7 @@ Example usage::
 
     django-admin.py compilemessages --locale=br_PT
 
-createcachetable 
+createcachetable
 ----------------
 
 .. django-admin:: createcachetable <tablename>
@@ -133,7 +129,7 @@ backend. See :ref:`topics-cache` for more information.
 createsuperuser
 ---------------
 
-.. django-admin:: createsuperuser 
+.. django-admin:: createsuperuser
 
 .. versionadded:: 1.0
 
@@ -182,7 +178,7 @@ diffsettings
 .. django-admin:: diffsettings
 
 Displays differences between the current settings file and Django's default
-settings. 
+settings.
 
 Settings that don't appear in the defaults are followed by ``"###"``. For
 example, the default settings don't define ``ROOT_URLCONF``, so
@@ -367,20 +363,6 @@ The ``dumpdata`` command can be used to generate input for ``loaddata``.
     references in your data files - MySQL doesn't provide a mechanism to
     defer checking of row constraints until a transaction is committed.
 
---verbosity
-~~~~~~~~~~~
-
-Use ``--verbosity`` to specify the amount of notification and debug information
-that ``django-admin.py`` should print to the console.
-
-	* ``0`` means no output.
-	* ``1`` means normal output (default).
-	* ``2`` means verbose output.
-
-Example usage::
-
-    django-admin.py loaddata --verbosity=2
-
 makemessages
 ------------
 
@@ -433,23 +415,9 @@ Example usage::
 Use the ``--domain`` or ``-d`` option to change the domain of the messages files.
 Currently supported:
 
-	* ``django`` for all ``*.py`` and ``*.html`` files (default) 
+	* ``django`` for all ``*.py`` and ``*.html`` files (default)
 	* ``djangojs`` for ``*.js`` files
 
---verbosity
-~~~~~~~~~~~
-
-Use ``--verbosity`` or ``-v`` to specify the amount of notification and debug
-information that ``django-admin.py`` should print to the console.
-
-	* ``0`` means no output.
-	* ``1`` means normal output (default).
-	* ``2`` means verbose output.
-
-Example usage::
-
-    django-admin.py makemessages --verbosity=2
-
 reset <appname appname ...>
 ---------------------------
 
@@ -685,20 +653,6 @@ with an appropriate extension (e.g. ``json`` or ``xml``). See the
 documentation for ``loaddata`` for details on the specification of fixture
 data files.
 
---verbosity
-~~~~~~~~~~~
-
-Use ``--verbosity`` to specify the amount of notification and debug information
-that ``django-admin.py`` should print to the console.
-
-	* ``0`` means no output.
-	* ``1`` means normal output (default).
-	* ``2`` means verbose output.
-
-Example usage::
-
-    django-admin.py syncdb --verbosity=2
-
 --noinput
 ~~~~~~~~~
 
@@ -719,20 +673,6 @@ Use the ``--noinput`` option to suppress all user prompting, such as
 "Are you sure?" confirmation messages. This is useful if ``django-admin.py``
 is being executed as an unattended, automated script.
 
---verbosity
-~~~~~~~~~~~
-
-Use ``--verbosity`` to specify the amount of notification and debug information
-that ``django-admin.py`` should print to the console.
-
-	* ``0`` means no output.
-	* ``1`` means normal output (default).
-	* ``2`` means verbose output.
-
-Example usage::
-
-    django-admin.py test --verbosity=2
-
 testserver <fixture fixture ...>
 --------------------------------
 
@@ -793,20 +733,6 @@ To run on 1.2.3.4:7000 with a ``test`` fixture::
 
     django-admin.py testserver --addrport 1.2.3.4:7000 test
 
---verbosity
-~~~~~~~~~~~
-
-Use ``--verbosity`` to specify the amount of notification and debug information
-that ``django-admin.py`` should print to the console.
-
-	* ``0`` means no output.
-	* ``1`` means normal output (default).
-	* ``2`` means verbose output.
-
-Example usage::
-
-    django-admin.py testserver --verbosity=2
-
 validate
 --------
 
@@ -861,6 +787,22 @@ By default, ``django-admin.py`` will show a simple error message whenever an
 error occurs. If you specify ``--traceback``, ``django-admin.py``  will
 output a full stack trace whenever an exception is raised.
 
+.. _django-admin-verbosity:
+
+--verbosity
+-----------
+
+Example usage::
+
+    django-admin.py syncdb --verbosity 2
+
+Use ``--verbosity`` to specify the amount of notification and debug information
+that ``django-admin.py`` should print to the console.
+
+    * ``0`` means no output.
+    * ``1`` means normal output (default).
+    * ``2`` means verbose output.
+
 Extra niceties
 ==============
 
@@ -887,4 +829,4 @@ distribution. It enables tab-completion of ``django-admin.py`` and
 
 
 
-See :ref:`howto-custom-management-commands` for how to add customized actions. 
+See :ref:`howto-custom-management-commands` for how to add customized actions.

+ 1 - 1
docs/ref/signals.txt

@@ -212,7 +212,7 @@ Arguments sent with this signal:
 
     ``verbosity``
         Indicates how much information manage.py is printing on screen. See
-        the :djadminopt:`--verbosity`` flag for details.
+        the :djadminopt:`--verbosity` flag for details.
 
         Functions which listen for :data:`post_syncdb` should adjust what they
         output to the screen based on the value of this argument.

+ 2 - 2
tests/runtests.py

@@ -142,12 +142,12 @@ def django_tests(verbosity, interactive, test_labels):
         if not test_labels or model_name in test_labels:
             extra_tests.append(InvalidModelTestCase(model_label))
             try:
-                # Invalid models are not working apps, so we cannot pass them into 
+                # Invalid models are not working apps, so we cannot pass them into
                 # the test runner with the other test_labels
                 test_labels.remove(model_name)
             except ValueError:
                 pass
-    
+
     # Run the test suite, including the extra validation tests.
     from django.test.simple import run_tests
     failures = run_tests(test_labels, verbosity=verbosity, interactive=interactive, extra_tests=extra_tests)