diff --git a/tabellio/pfbviews/comevent.py b/tabellio/pfbviews/comevent.py
index 21aab2a..07039f6 100644
--- a/tabellio/pfbviews/comevent.py
+++ b/tabellio/pfbviews/comevent.py
@@ -1,8 +1,30 @@
from five import grok
+from Products.CMFCore.utils import getToolByName
from parlevent import ParlEventBaseView
from tabellio.agenda.comevent import IComEvent
+import tabellio.config.utils
-class View(grok.View, ParlEventBaseView):
+class CommissionView(ParlEventBaseView):
+ def get_stream_name(self):
+ com_id = self.context.commission.to_path.split('/')[-1]
+ com_audio_code = tabellio.config.utils.get_com_audio_code(com_id)
+ filename = '%04d%02d%02d%02d-%s.mp3' % (
+ self.context.start.year, self.context.start.month,
+ self.context.start.day, self.context.start.hour,
+ com_audio_code)
+ return filename
+
+class View(grok.View, CommissionView):
grok.context(IComEvent)
grok.require('zope2.View')
+class M3U(grok.View, CommissionView):
+ grok.context(IComEvent)
+ grok.require('zope2.View')
+ grok.name('ecouter.m3u')
+
+ def render(self):
+ portal_url = getToolByName(self.context, 'portal_url').getPortalObject().absolute_url()
+ self.request.response.setHeader('Content-type', 'audio/x-mpegurl')
+ return portal_url + '/mp3/' + self.get_stream_name() + '\n'
+
diff --git a/tabellio/pfbviews/comevent_templates/view.pt b/tabellio/pfbviews/comevent_templates/view.pt
index de1c7a2..4e666b3 100644
--- a/tabellio/pfbviews/comevent_templates/view.pt
+++ b/tabellio/pfbviews/comevent_templates/view.pt
@@ -32,6 +32,13 @@
Lieu :
+
Ordre du jour
diff --git a/tabellio/pfbviews/parlevent.py b/tabellio/pfbviews/parlevent.py
index adcb8be..ad90fa5 100644
--- a/tabellio/pfbviews/parlevent.py
+++ b/tabellio/pfbviews/parlevent.py
@@ -11,12 +11,6 @@ import tabellio.agenda.parlevent
class ParlEventBaseView(tabellio.agenda.parlevent.ParlEventBaseView):
- def get_stream_name(self):
- filename = '%04d%02d%02d%02d-SEAN.mp3' % (
- self.context.start.year, self.context.start.month,
- self.context.start.day, self.context.start.hour)
- return filename
-
def has_stream(self):
settings = component.getUtility(IRegistry).forInterface(ITabellioSettings, False)
if not settings.audiofiles_path:
@@ -24,11 +18,19 @@ class ParlEventBaseView(tabellio.agenda.parlevent.ParlEventBaseView):
return os.path.exists(os.path.join(settings.audiofiles_path, self.get_stream_name()))
-class View(grok.View, ParlEventBaseView):
+class ParlEventView(ParlEventBaseView):
+ def get_stream_name(self):
+ filename = '%04d%02d%02d%02d-SEAN.mp3' % (
+ self.context.start.year, self.context.start.month,
+ self.context.start.day, self.context.start.hour)
+ return filename
+
+
+class View(grok.View, ParlEventView):
grok.context(tabellio.agenda.parlevent.IParlEvent)
grok.require('zope2.View')
-class M3U(grok.View, ParlEventBaseView):
+class M3U(grok.View, ParlEventView):
grok.context(tabellio.agenda.parlevent.IParlEvent)
grok.require('zope2.View')
grok.name('seance.m3u')
diff --git a/tabellio/pfbviews/parlevent_templates/view.pt b/tabellio/pfbviews/parlevent_templates/view.pt
index 580dbb8..260f435 100644
--- a/tabellio/pfbviews/parlevent_templates/view.pt
+++ b/tabellio/pfbviews/parlevent_templates/view.pt
@@ -32,6 +32,14 @@
Lieu :
+
+