Browse Source

Argparse default for store_true is ("NO", "DEFAULT") :/

Ask Solem 8 years ago
parent
commit
c28cdd85c8
6 changed files with 32 additions and 21 deletions
  1. 4 0
      celery/bin/base.py
  2. 1 1
      celery/bin/beat.py
  3. 18 14
      celery/bin/celery.py
  4. 1 1
      celery/bin/celeryd_detach.py
  5. 2 2
      celery/bin/events.py
  6. 6 3
      celery/bin/worker.py

+ 4 - 0
celery/bin/base.py

@@ -82,6 +82,10 @@ def _add_optparse_argument(parser, opt, typemap={
     # argparse checks for existence of this kwarg
     if opt.action == 'callback':
         opt.action = None
+    # store_true sets value to "('NO', 'DEFAULT')" for some
+    # crazy reason, so not to set a sane default here.
+    if opt.action == 'store_true' and opt.default is None:
+            opt.default = False
     parser.add_argument(
         *opt._long_opts + opt._short_opts,
         **dictfilter(dict(

+ 1 - 1
celery/bin/beat.py

@@ -112,7 +112,7 @@ class beat(Command):
     def add_arguments(self, parser):
         c = self.app.conf
         bopts = parser.add_argument_group('Beat Options')
-        bopts.add_argument('--detach', action='store_true')
+        bopts.add_argument('--detach', action='store_true', default=False)
         bopts.add_argument(
             '-s', '--schedule', default=c.beat_schedule_filename)
         bopts.add_argument('--max-interval', type=float)

+ 18 - 14
celery/bin/celery.py

@@ -481,7 +481,7 @@ class purge(Command):
     def add_arguments(self, parser):
         group = parser.add_argument_group('Purging Options')
         group.add_argument(
-            '--force', '-f', action='store_true',
+            '--force', '-f', action='store_true', default=False,
             help="Don't prompt for verification",
         )
         group.add_argument(
@@ -543,7 +543,7 @@ class result(Command):
             '--task', '-t', help='name of task (if custom backend)',
         )
         group.add_argument(
-            '--traceback', action='store_true',
+            '--traceback', action='store_true', default=False,
             help='show traceback instead',
         )
 
@@ -583,7 +583,7 @@ class _RemoteControl(Command):
             '--destination', '-d',
             help='Comma separated list of destination node names.')
         group.add_argument(
-            '--json', '-j', action='store_true',
+            '--json', '-j', action='store_true', default=False,
             help='Use json as output format.',
         )
 
@@ -819,7 +819,7 @@ class migrate(Command):
             help='Timeout in seconds (float) waiting for tasks',
         )
         group.add_argument(
-            '--ack-messages', '-a', action='store_true',
+            '--ack-messages', '-a', action='store_true', default=False,
             help='Ack messages from source broker.',
         )
         group.add_argument(
@@ -831,7 +831,7 @@ class migrate(Command):
             help='List of queues to migrate.',
         )
         group.add_argument(
-            '--forever', '-F', action='store_true',
+            '--forever', '-F', action='store_true', default=False,
             help='Continually migrate tasks until killed.',
         )
 
@@ -863,26 +863,30 @@ class shell(Command):  # pragma: no cover
         group = parser.add_argument_group('Shell Options')
         group.add_argument(
             '--ipython', '-I',
-            action='store_true', help='force iPython.',
+            action='store_true', help='force iPython.', default=False,
         )
         group.add_argument(
             '--bpython', '-B',
-            action='store_true', help='force bpython.',
+            action='store_true', help='force bpython.', default=False,
         )
         group.add_argument(
             '--python',
-            action='store_true', help='force default Python shell.',
+            action='store_true', default=False,
+            help='force default Python shell.',
         )
         group.add_argument(
             '--without-tasks', '-T',
-            action='store_true', help="don't add tasks to locals.",
+            action='store_true', default=False,
+            help="don't add tasks to locals.",
         )
         group.add_argument(
             '--eventlet',
-            action='store_true', help='use eventlet.',
+            action='store_true', default=False,
+            help='use eventlet.',
         )
         group.add_argument(
-            '--gevent', action='store_true', help='use gevent.',
+            '--gevent', action='store_true', default=False,
+            help='use gevent.',
         )
 
     def run(self, *args, **kwargs):
@@ -1002,15 +1006,15 @@ class upgrade(Command):
     def add_arguments(self, parser):
         group = parser.add_argument_group('Upgrading Options')
         group.add_argument(
-            '--django', action='store_true',
+            '--django', action='store_true', default=False,
             help='Upgrade Django project',
         )
         group.add_argument(
-            '--compat', action='store_true',
+            '--compat', action='store_true', default=False,
             help='Maintain backwards compatibility',
         )
         group.add_argument(
-            '--no-backup', action='store_true',
+            '--no-backup', action='store_true', default=False,
             help='Dont backup original files',
         )
 

+ 1 - 1
celery/bin/celeryd_detach.py

@@ -128,7 +128,7 @@ class detached_celeryd(object):
         parser.add_argument('-n', '--hostname')
         parser.add_argument(
             '--fake',
-            default=False, action='store_true',
+            action='store_true', default=False,
             help="Don't fork (for debugging purposes)",
         )
 

+ 2 - 2
celery/bin/events.py

@@ -153,11 +153,11 @@ class events(Command):
 
     def add_arguments(self, parser):
         dopts = parser.add_argument_group('Dumper')
-        dopts.add_argument('-d', '--dump', action='store_true')
+        dopts.add_argument('-d', '--dump', action='store_true', default=False)
 
         copts = parser.add_argument_group('Snapshot')
         copts.add_argument('-c', '--camera')
-        copts.add_argument('--detach', action='store_true')
+        copts.add_argument('--detach', action='store_true', default=False)
         copts.add_argument('-F', '--frequency', '--freq',
                            type=float, default=1.0)
         copts.add_argument('-r', '--maxrate')

+ 6 - 3
celery/bin/worker.py

@@ -268,7 +268,10 @@ class worker(Command):
 
         wopts = parser.add_argument_group('Worker Options')
         wopts.add_argument('-n', '--hostname')
-        wopts.add_argument('-D', '--detach', action='store_true')
+        wopts.add_argument(
+            '-D', '--detach',
+            action='store_true', default=False,
+        )
         wopts.add_argument(
             '-S', '--statedb',
             default=conf.worker_state_db,
@@ -313,7 +316,7 @@ class worker(Command):
         qopts = parser.add_argument_group('Queue Options')
         qopts.add_argument(
             '--purge', '--discard',
-            default=False, action='store_true',
+            action='store_true', default=False,
         )
         qopts.add_argument('--queues', '-Q', default=[])
         qopts.add_argument('--exclude-queues', '-X', default=[])
@@ -335,7 +338,7 @@ class worker(Command):
         daemon_options(parser)
 
         bopts = parser.add_argument_group('Embedded Beat Options')
-        bopts.add_argument('-B', '--beat', action='store_true')
+        bopts.add_argument('-B', '--beat', action='store_true', default=False)
         bopts.add_argument(
             '-s', '--schedule-filename', '--schedule',
             default=conf.beat_schedule_filename,