start to restructure the project tree

This commit is contained in:
bkfox
2015-12-01 16:16:45 +01:00
parent cc5c53281e
commit 380efcbbcd
64 changed files with 68 additions and 819 deletions

View File

@ -0,0 +1,55 @@
"""
Monitor Liquidsoap's sources, logs, and even print what's on air.
"""
import time
from argparse import RawTextHelpFormatter
from django.core.management.base import BaseCommand, CommandError
from django.utils import timezone as tz
import aircox.liquidsoap.settings as settings
import aircox.liquidsoap.utils as utils
import aircox.programs.models as models
class Command (BaseCommand):
help= __doc__
output_dir = settings.AIRCOX_LIQUIDSOAP_MEDIA
def add_arguments (self, parser):
parser.formatter_class=RawTextHelpFormatter
parser.add_argument(
'-o', '--on_air', action='store_true',
help='Print what is on air'
)
parser.add_argument(
'-m', '--monitor', action='store_true',
help='Runs in monitor mode'
)
parser.add_argument(
'-d', '--delay', type=int,
default=1000,
help='Time to sleep in milliseconds before update on monitor'
)
def handle (self, *args, **options):
connector = utils.Connector()
self.monitor = utils.Monitor(connector)
self.monitor.update()
if options.get('on_air'):
for id, controller in self.monitor.controller.items():
print(id, controller.on_air)
if options.get('monitor'):
delay = options.get('delay') / 1000
while True:
for controller in self.monitor.controllers.values():
try:
controller.monitor()
except Exception, e:
print(e)
time.sleep(delay)