File: mutually_exclusive_required.py

package info (click to toggle)
python-django 3%3A3.2.19-1%2Bdeb12u2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 56,696 kB
  • sloc: python: 264,418; javascript: 18,362; xml: 193; makefile: 178; sh: 43
file content (20 lines) | stat: -rw-r--r-- 911 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from django.core.management.base import BaseCommand


class Command(BaseCommand):

    def add_arguments(self, parser):
        group = parser.add_mutually_exclusive_group(required=True)
        group.add_argument('--foo-id', type=int, nargs='?', default=None)
        group.add_argument('--foo-name', type=str, nargs='?', default=None)
        group.add_argument('--foo-list', type=int, nargs='+')
        group.add_argument('--append_const', action='append_const', const=42)
        group.add_argument('--const', action='store_const', const=31)
        group.add_argument('--count', action='count')
        group.add_argument('--flag_false', action='store_false')
        group.add_argument('--flag_true', action='store_true')

    def handle(self, *args, **options):
        for option, value in options.items():
            if value is not None:
                self.stdout.write('%s=%s' % (option, value))