]> git.parisson.com Git - teleforma.git/commitdiff
delete all new seminar medias
authorGuillaume Pellerin <yomguy@parisson.com>
Mon, 30 Dec 2013 13:48:39 +0000 (14:48 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Mon, 30 Dec 2013 13:48:39 +0000 (14:48 +0100)
teleforma/management/commands/teleforma-import-seminar-media.py

index 945378a3d6ce4e2c187169a1c83fa1ee5499d519..154eaa63fb64750f21f7c360fd8803ce3253af4d 100644 (file)
@@ -36,7 +36,7 @@ class Command(BaseCommand):
     media_rank_dict = {'bis': 2, 'ter': 3, 'quarter': 4, 'quinquies': 5, 'quater': 4}
     site = Site.objects.get_current()
 
-    def cleanup(self):
+    def full_cleanup(self):
         items  = MediaItemTranscoded.objects.all()
         for i in items :
             i.delete()
@@ -57,6 +57,17 @@ class Command(BaseCommand):
         for media in medias:
             media.delete()
 
+    def delete_media(self, media):
+        for trans in media.item.transcoded.all()
+                trans.delete()
+            media.item.delete()
+            media.delete()
+
+    def seminar_media_cleanup(self, seminar):
+        for media in seminar.medias:
+            self.delete_media(media)
+        self.delete_media(seminar.media_preview)
+
     def get_duration(self, file):
         decoder = timeside.decoder.FileDecoder(file)
         decoder.setup()
@@ -129,7 +140,7 @@ class Command(BaseCommand):
                             exist = True
                             break
                         else:
-                            media.delete()
+                            self.seminar_media_cleanup(seminar)
 
                     if not seminar in seminars:
                         seminars.append(seminar)