summaryrefslogtreecommitdiff
path: root/tests/user_commands/management/commands/dance.py
blob: 2bb8c1130915f36e296035da00336d0325b5ed74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from django.core.management.base import BaseCommand, CommandError


class Command(BaseCommand):
    help = "Dance around like a madman."
    args = ""
    requires_system_checks = "__all__"

    def add_arguments(self, parser):
        parser.add_argument("integer", nargs="?", type=int, default=0)
        parser.add_argument("-s", "--style", default="Rock'n'Roll")
        parser.add_argument("-x", "--example")
        parser.add_argument("--opt-3", action="store_true", dest="option3")

    def handle(self, *args, **options):
        example = options["example"]
        if example == "raise":
            raise CommandError(returncode=3)
        if options["verbosity"] > 0:
            self.stdout.write("I don't feel like dancing %s." % options["style"])
            self.stdout.write(",".join(options))
        if options["integer"] > 0:
            self.stdout.write(
                "You passed %d as a positional argument." % options["integer"]
            )