]> git.parisson.com Git - telemeta.git/commitdiff
[kdenlive] use global title metadata for session title kdenlive
authorGuillaume Pellerin <yomguy@parisson.com>
Mon, 30 Dec 2019 17:50:17 +0000 (18:50 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Mon, 30 Dec 2019 17:50:17 +0000 (18:50 +0100)
telemeta/models/media.py
telemeta/util/kdenlive/session.py

index dd67711a5bb879a7e6ed6a059b0b11899cae0dfd..69eb2be731c81ec4891b900b858f4ef7ea6995ef 100644 (file)
@@ -524,14 +524,16 @@ class MediaItemRelated(MediaRelated):
         if self.file:
             if self.is_kdenlive_session():
                 session = KDEnLiveSession(self.file.path)
-                markers = session.markers(**kwargs)
+                title, 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
+                return title, markers
+        else:
+            return
 
     class Meta(MetaCore):
         db_table = 'media_item_related'
index 448550a83d4ea5f802879bbf748074cf3e21124a..17525c61cc112182e61fbf227507d42d1c3503f4 100644 (file)
@@ -121,6 +121,7 @@ class KDEnLiveSession(object):
         markers = []
         i = 0
         entries = self.entries_video_seconds()
+        title = ''
 
         for attr in self.session['children']:
             if 'playlist' in attr['name']:
@@ -128,6 +129,8 @@ class KDEnLiveSession(object):
                     marker = {}
                     if 'name' in att['attributes']:
                         name = att['attributes']['name']
+                        if 'docmetadata.meta.attr.title.markup' in name:
+                            title = att['cdata']
                         if 'marker' in name:
                             name = name.encode('utf8')
                             marker_time = float(name.split(':')[-1].replace(',','.').replace(' ', ''))
@@ -154,5 +157,5 @@ class KDEnLiveSession(object):
                             markers.append(marker)
 
                         i += 1
-        return markers
+        return title, markers