]> git.parisson.com Git - teleforma.git/commitdiff
fix get collection and item
authorGuillaume Pellerin <yomguy@parisson.com>
Tue, 31 Dec 2013 09:20:55 +0000 (10:20 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Tue, 31 Dec 2013 09:20:55 +0000 (10:20 +0100)
teleforma/management/commands/teleforma-import-seminar-media.py

index 2eaa046c98ea6ce87281e2322eb02f59e61d2d4b..9ffbf759391a50eb24689c41f696c53458130eee 100644 (file)
@@ -157,28 +157,13 @@ class Command(BaseCommand):
                     if not exist:
                         logger.logger.info(seminar.public_url())
                         logger.logger.info(path)
-                        collections = MediaCollection.objects.filter(code=collection_id)
-                        if not collections:
-                            collection = MediaCollection(code=collection_id,title=collection_id)
-                            collection.save()
-                        else:
-                            collection = collections[0]
-
-                        id = '_'.join([period.name, collection_id, ext, str(media_rank)])
-
-                        items = MediaItem.objects.filter(collection=collection, code=id)
-                        if not items:
-                            item = MediaItem(collection=collection, code=id)
-                            item.save()
-                        else:
-                            item = items[0]
-
+                        collections = MediaCollection.objects.get_or_create(code=collection_id)
+                        item_id = '_'.join([period.name, collection_id, ext, str(media_rank)])
+                        items = MediaItem.objects.get_or_create(collection=collection, code=item_id)
                         item.title = name
                         item.file = path
-
                         if os.path.getsize(root+os.sep+filename):
                             item.approx_duration = self.get_duration(root+os.sep+filename)
-
                         item.save()
 
                         files = os.listdir(root)