From 7a2f61e849c240086431ecc1e104d722e7f34738 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 2 Dec 2011 16:19:00 +0100 Subject: [PATCH] streaming link for seances (#1003) --- tabellio/agenda/folder_templates/view.pt | 15 ++++++++++---- tabellio/agenda/parlevent.py | 26 ++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/tabellio/agenda/folder_templates/view.pt b/tabellio/agenda/folder_templates/view.pt index 165f1fd..7644ad7 100644 --- a/tabellio/agenda/folder_templates/view.pt +++ b/tabellio/agenda/folder_templates/view.pt @@ -226,15 +226,22 @@ jq('#tabellio-agenda tbody a').click( class event/klass">

-
- Streaming - + Streaming + Compte-rendu intégral
- + diff --git a/tabellio/agenda/parlevent.py b/tabellio/agenda/parlevent.py index 3d666cc..1039fc1 100644 --- a/tabellio/agenda/parlevent.py +++ b/tabellio/agenda/parlevent.py @@ -10,6 +10,9 @@ from plone.formwidget.contenttree import ObjPathSourceBinder from themis.fields import LegisSession from plone.app.textfield import RichText +from plone.registry.interfaces import IRegistry +from tabellio.config.interfaces import ITabellioSettings + from tabellio.agenda.interfaces import MessageFactory as _ from event import IBaseEvent, BaseEvent, EventBaseView @@ -28,6 +31,29 @@ class ParlEvent(BaseEvent): def klass(self): return 'parlementary-event' + def get_stream_url(self): + # this brings some knowledge about the view into the object, this is + # not ideal. + settings = component.getUtility(IRegistry).forInterface(ITabellioSettings, False) + if settings.audiofiles_path: + if os.path.exists(os.path.join(settings.audiofiles_path, self.get_stream_name())): + if settings.embedded_audio_player_url: + return settings.embedded_audio_player_url + '?' + self.get_stream_name() + else: + return self.absolute_url() + '/ecouter.m3u' + if not self.is_now(): + return None + + if settings.embedded_audio_player_url: + return settings.embedded_audio_player_url + else: + return self.absolute_url() + '/ecouter.m3u' + + def get_stream_name(self): + filename = '%04d%02d%02d%02d-SEAN.mp3' % ( + self.start.year, self.start.month, + self.start.day, self.start.hour) + return filename class ParlEventBaseView(EventBaseView): def next_event_url(self):