]> git.parisson.com Git - teleforma.git/commitdiff
add TELECASTER_MASTER_STREAMING bool to trigger external streaming
authoryomguy <yomguy@parisson.com>
Thu, 21 Feb 2013 08:51:11 +0000 (09:51 +0100)
committeryomguy <yomguy@parisson.com>
Thu, 21 Feb 2013 08:51:11 +0000 (09:51 +0100)
teleforma/models/core.py
teleforma/views/core.py

index 4031b5ee226e52097d87250d4c3827305a2b3b77..27ce1e25c4c5ab369fae61701860412c5cfb1dfa 100644 (file)
@@ -255,9 +255,8 @@ class Conference(Model):
         return self.description
 
     def save(self, **kwargs):
-        self.course.save()
         super(Conference, self).save(**kwargs)
-
+        self.course.save()
 
     def to_dict(self):
         dict = [{'id':'public_id','value': self.public_id, 'class':'', 'label': 'public_id'},
@@ -270,7 +269,7 @@ class Conference(Model):
                 ]
         return dict
 
-    def to_json_dict(self):
+    def to_json_dict(self, streaming=True):
         data = {'id': self.public_id,
                 'course_code': self.course.code,
                 'course_type': self.course_type.name,
@@ -286,7 +285,7 @@ class Conference(Model):
             data['organization'] = self.room.organization.name
 
         streams = self.livestream.all()
-        if streams:
+        if streams and streaming:
             for stream in streams:
                 data['streams'].append({'host': stream.server.host,
                                         'port': stream.server.port,
@@ -522,11 +521,12 @@ class Media(MediaBase):
             return self.item.file
 
     def save(self, **kwargs):
+        super(Media, self).save(**kwargs)
         if self.course:
             self.course.save()
         elif self.conference:
             self.conference.course.save()
-        super(Media, self).save(**kwargs)
+
 
 
     class Meta(MetaCore):
index 4d2fd39ff9e185d2bc4a8ec455091b34322cb35d..3eea68524ef1066f9d06c5db6baa09d2efb2955b 100644 (file)
@@ -527,7 +527,6 @@ class ConferenceRecordView(FormView):
                 conf.period, c = Period.objects.get_or_create(name=conference['period'])
                 conf.department, c = Department.objects.get_or_create(name=conference['department'])
                 conf.save()
-                course.save()
                 for stream in conference['streams']:
                     host = stream['host']
                     port = stream['port']
@@ -546,7 +545,11 @@ class ConferenceRecordView(FormView):
     def push(self, conference):
         url = 'http://' + conference.department.domain + '/json/'
         s = ServiceProxy(url)
-        s.teleforma.create_conference(conference.to_json_dict())
+        try:
+            streaming = settings.TELECASTER_MASTER_STREAMING
+        except:
+            streaming = True
+        s.teleforma.create_conference(conference.to_json_dict(streaming=streaming))
 
 
 class HelpView(TemplateView):