Refs #22835 -- Removed NoArgsCommand per deprecation timeline.

This commit is contained in:
Tim Graham 2015-09-02 18:47:42 -04:00
parent 6eed9ae747
commit b4002a2143
4 changed files with 4 additions and 54 deletions

View File

@ -7,14 +7,12 @@ from __future__ import unicode_literals
import os import os
import sys import sys
import warnings
from argparse import ArgumentParser from argparse import ArgumentParser
import django import django
from django.core import checks from django.core import checks
from django.core.management.color import color_style, no_style from django.core.management.color import color_style, no_style
from django.db import connections from django.db import connections
from django.utils.deprecation import RemovedInDjango110Warning
from django.utils.encoding import force_str from django.utils.encoding import force_str
@ -500,35 +498,3 @@ class LabelCommand(BaseCommand):
string as given on the command line. string as given on the command line.
""" """
raise NotImplementedError('subclasses of LabelCommand must provide a handle_label() method') raise NotImplementedError('subclasses of LabelCommand must provide a handle_label() method')
class NoArgsCommand(BaseCommand):
"""
A command which takes no arguments on the command line.
Rather than implementing ``handle()``, subclasses must implement
``handle_noargs()``; ``handle()`` itself is overridden to ensure
no arguments are passed to the command.
Attempting to pass arguments will raise ``CommandError``.
"""
args = ''
def __init__(self):
warnings.warn(
"NoArgsCommand class is deprecated and will be removed in Django 1.10. "
"Use BaseCommand instead, which takes no arguments by default.",
RemovedInDjango110Warning
)
super(NoArgsCommand, self).__init__()
def handle(self, *args, **options):
if args:
raise CommandError("Command doesn't accept any arguments")
return self.handle_noargs(**options)
def handle_noargs(self, **options):
"""
Perform this command's actions.
"""
raise NotImplementedError('subclasses of NoArgsCommand must provide a handle_noargs() method')

View File

@ -352,22 +352,6 @@ Rather than implementing :meth:`~BaseCommand.handle`, subclasses must implement
Perform the command's actions for ``label``, which will be the string as Perform the command's actions for ``label``, which will be the string as
given on the command line. given on the command line.
.. class:: NoArgsCommand
.. deprecated:: 1.8
Use :class:`BaseCommand` instead, which takes no arguments by default.
A command which takes no arguments on the command line.
Rather than implementing :meth:`~BaseCommand.handle`, subclasses must implement
:meth:`~NoArgsCommand.handle_noargs`; :meth:`~BaseCommand.handle` itself is
overridden to ensure no arguments are passed to the command.
.. method:: NoArgsCommand.handle_noargs(**options)
Perform this command's actions
.. _ref-command-exceptions: .. _ref-command-exceptions:
Command exceptions Command exceptions

View File

@ -130,7 +130,7 @@ details on these changes.
* Support for :py:mod:`optparse` will be dropped for custom management commands * Support for :py:mod:`optparse` will be dropped for custom management commands
(replaced by :py:mod:`argparse`). (replaced by :py:mod:`argparse`).
* The class :class:`~django.core.management.NoArgsCommand` will be removed. Use * The class ``django.core.management.NoArgsCommand`` will be removed. Use
:class:`~django.core.management.BaseCommand` instead, which takes no arguments :class:`~django.core.management.BaseCommand` instead, which takes no arguments
by default. by default.

View File

@ -1384,9 +1384,9 @@ arguments through ``argparse.add_argument()``. See
``django.core.management.NoArgsCommand`` ``django.core.management.NoArgsCommand``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The class :class:`~django.core.management.NoArgsCommand` is now deprecated and The class ``NoArgsCommand`` is now deprecated and will be removed in Django
will be removed in Django 1.10. Use :class:`~django.core.management.BaseCommand` 1.10. Use :class:`~django.core.management.BaseCommand` instead, which takes no
instead, which takes no arguments by default. arguments by default.
Listing all migrations in a project Listing all migrations in a project
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~