Files
django-q2/django_q/management/commands/qinfo.py
T
2015-10-07 17:08:05 +02:00

35 lines
1.2 KiB
Python

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()