From 48dceafe9491665d10f7dcd0fd75fbf7c2a275b8 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Fri, 27 Sep 2013 11:38:44 +0200 Subject: [PATCH] fix / update kdenlive parsing --- telemeta/models/media.py | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/telemeta/models/media.py b/telemeta/models/media.py index dde86f02..2cbd3046 100644 --- a/telemeta/models/media.py +++ b/telemeta/models/media.py @@ -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' -- 2.39.5