From f5b5718231253b95d73ab32cf37d649f0f824d84 Mon Sep 17 00:00:00 2001 From: bkfox Date: Thu, 5 Nov 2015 20:54:12 +0100 Subject: [PATCH] test delay + update template --- .../management/commands/liquidsoap_files.py | 8 ++++---- aircox_liquidsoap/settings.py | 2 +- aircox_programs/admin.py | 16 ++++++++++++++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/aircox_liquidsoap/management/commands/liquidsoap_files.py b/aircox_liquidsoap/management/commands/liquidsoap_files.py index e92e048..79746de 100644 --- a/aircox_liquidsoap/management/commands/liquidsoap_files.py +++ b/aircox_liquidsoap/management/commands/liquidsoap_files.py @@ -87,9 +87,9 @@ class Command (BaseCommand): @staticmethod def __render_stream_in_radio (stream): if stream.time_start and stream.time_end: - data = '({{{}h-{}h}}, {})'.format( - stream.time_start.hour, - stream.time_end.hour, + data = '({{{}-{}}}, {})'.format( + stream.time_start.strftime('%Hh%M'), + stream.time_end.strftime('%Hh%M'), stream.program.get_slug_name() ) else: @@ -97,7 +97,7 @@ class Command (BaseCommand): if stream.delay: data = 'delay({}., {})'.format( - stream.delay.strftime('%s'), + 3600*stream.delay.hour+60*stream.delay.minute+stream.delay.second, data ) return data diff --git a/aircox_liquidsoap/settings.py b/aircox_liquidsoap/settings.py index 0912e3f..180c4fc 100644 --- a/aircox_liquidsoap/settings.py +++ b/aircox_liquidsoap/settings.py @@ -6,7 +6,7 @@ def ensure (key, default): # dict of values to set (do not forget to escape chars) -ensure('AIRCOX_LIQUIDSOAP_CONFIG', { +ensure('AIRCOX_LIQUIDSOAP_SET', { 'log.file.path': '"/tmp/liquidsoap.log"', 'server.socket': 'true', 'server.socket.path': '"/tmp/liquidsoap.sock"' diff --git a/aircox_programs/admin.py b/aircox_programs/admin.py index 89bb3d3..0ae3d86 100755 --- a/aircox_programs/admin.py +++ b/aircox_programs/admin.py @@ -23,11 +23,15 @@ class ScheduleInline (admin.TabularInline): model = Schedule extra = 1 +class StreamInline (admin.TabularInline): + fields = ['delay', 'time_start', 'time_end'] + model = Stream + extra = 1 + class DiffusionInline (admin.TabularInline): model = Diffusion fields = ('episode', 'type', 'date') - readonly_fields = ('date',) extra = 1 @@ -66,8 +70,16 @@ class StreamAdmin (admin.ModelAdmin): @admin.register(Program) class ProgramAdmin (NameableAdmin): fields = NameableAdmin.fields - inlines = [ ScheduleInline ] + inlines = [ ScheduleInline, StreamInline ] + def get_form (self, request, obj=None, **kwargs): + if obj and Stream.objects.filter(program = obj).count() \ + and ScheduleInline in self.inlines: + self.inlines.remove(ScheduleInline) + elif obj and Schedule.objects.filter(program = obj).count() \ + and StreamInline in self.inlines: + self.inlines.remove(StreamInline) + return super().get_form(request, obj, **kwargs) @admin.register(Episode) class EpisodeAdmin (NameableAdmin):