1
0
mirror of https://github.com/django/django.git synced 2024-12-23 17:46:27 +00:00
django/tests/user_commands/management/commands/optparse_cmd.py
Rivo Laks a0047c6242 Fixed #24769 -- Cast optparse verbosity argument to an integer for better backwards compatibility.
Using `BaseCommand.options_list` makes Django use the legacy optparse
parser, which does not set the verbosity attribute correctly. Now the
verbosity argument is always cast to int. Regression in 8568638 (#19973).

Initial report and patch from blueyed.
2015-06-09 19:03:23 -04:00

21 lines
668 B
Python

from optparse import make_option
from django.core.management.base import BaseCommand
class Command(BaseCommand):
help = "Test optparse compatibility."
args = ''
option_list = BaseCommand.option_list + (
make_option("-s", "--style", default="Rock'n'Roll"),
make_option("-x", "--example")
)
def handle(self, *args, **options):
options["example"]
# BaseCommand default option is available
options['verbosity']
assert isinstance(options['verbosity'], int), "verbosity option is not int, but %s" % type(options['verbosity'])
self.stdout.write("All right, let's dance %s." % options["style"])