from optparse import make_option from django.core.management.base import BaseCommand from django.utils.translation import ugettext as _ from django_q import VERSION from django_q.conf import Conf from django_q.monitor import info 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): 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] self.stdout.write('VERSION: {}'.format('.'.join(str(v) for v in VERSION))) for setting in settings: value = getattr(Conf, setting) if value is not None: self.stdout.write('{}: {}'.format(setting, value)) else: info()