]> git.parisson.com Git - telemeta.git/commitdiff
fix / update kdenlive parsing
authorGuillaume Pellerin <yomguy@parisson.com>
Fri, 27 Sep 2013 09:38:44 +0000 (11:38 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Fri, 27 Sep 2013 09:38:44 +0000 (11:38 +0200)
telemeta/models/media.py

index dde86f02d18419b9e5394d2fa0a6eab8c463f853..2cbd3046c8c2660c223f0947e1d7f5d71697f8d6 100644 (file)
@@ -485,25 +485,22 @@ class MediaItemRelated(MediaRelated):
 
     item            = ForeignKey('MediaItem', related_name="related", verbose_name=_('item'))
 
-    def save(self, force_insert=False, force_update=False, author=None):
-        super(MediaItemRelated, self).save(force_insert, force_update)        
-
-        # Parse KDEnLive session (first marker is the title of the item, 
-        # marker author given as a keyword)
-        if self.is_kdenlive_session():
-            session = KDEnLiveSession(self.file.path)
-            markers = session.markers_relative()
-            i = 0
-            for marker in markers:
-                if i == 0:
-                    self.item.title = marker['comment']
-                    self.item.save()
-                m = MediaItemMarker(item=self.item)
-                m.public_id = get_random_hash()
-                m.time = float(marker['time'])
-                m.title = marker['comment']
-                m.save()
-                i += 1
+    def save(self, force_insert=False, force_update=False, using=False):
+        super(MediaItemRelated, self).save(force_insert, force_update)
+
+    def parse_markers(self, **kwargs):
+        # Parse KDEnLive session
+        if self.file:
+            if self.is_kdenlive_session():
+                session = KDEnLiveSession(self.file.path)
+                markers = session.markers(**kwargs)
+                for marker in markers:
+                    m = MediaItemMarker(item=self.item)
+                    m.public_id = get_random_hash()
+                    m.time = float(marker['time'])
+                    m.title = marker['comment']
+                    m.save()
+                return markers
 
     class Meta(MetaCore):
         db_table = 'media_item_related'