From 12222851079f47d20a1ed81a02c20a264e69458c Mon Sep 17 00:00:00 2001 From: Ilan Steemers Date: Tue, 15 Sep 2015 21:39:38 +0200 Subject: [PATCH] Adds --config option to qinfo command Outputs current configuration constants --- django_q/management/commands/qinfo.py | 18 +++++++++++++++++- django_q/tests/test_commands.py | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/django_q/management/commands/qinfo.py b/django_q/management/commands/qinfo.py index d66772a..fff5ec9 100644 --- a/django_q/management/commands/qinfo.py +++ b/django_q/management/commands/qinfo.py @@ -1,6 +1,8 @@ +from optparse import make_option from django.core.management.base import BaseCommand from django.utils.translation import ugettext as _ +from django_q.conf import Conf from django_q.monitor import info @@ -8,5 +10,19 @@ class Command(BaseCommand): # Translators: help text for qinfo management command help = _('General information over all clusters.') + option_list = BaseCommand.option_list + ( + make_option('--config', + action='store_true', + dest='config', + default=False, + help='Print current configuration.'), + ) + def handle(self, *args, **options): - info() + if options.get('config', False): + hide = ['conf', 'IDLE', 'STOPPING', 'STARTING', 'WORKING', 'SIGNAL_NAMES', 'STOPPED'] + settings = [a for a in dir(Conf) if not a.startswith('__') and a not in hide] + for setting in settings: + self.stdout.write('{}: {}'.format(setting, getattr(Conf, setting))) + else: + info() diff --git a/django_q/tests/test_commands.py b/django_q/tests/test_commands.py index 84e80a6..5a480cc 100644 --- a/django_q/tests/test_commands.py +++ b/django_q/tests/test_commands.py @@ -15,3 +15,4 @@ def test_qmonitor(): @pytest.mark.django_db def test_qinfo(): call_command('qinfo') + call_command('qinfo', config=True)