web/ldt/ldt_utils/fileimport.py
changeset 60 a8ad7ebf5902
parent 32 eac14c3ae625
child 62 39b2dab4f939
--- a/web/ldt/ldt_utils/fileimport.py	Mon Sep 13 12:56:36 2010 +0200
+++ b/web/ldt/ldt_utils/fileimport.py	Wed Sep 15 15:07:08 2010 +0200
@@ -2,7 +2,7 @@
 from django.conf import settings
 from django.core.exceptions import ObjectDoesNotExist
 from ldt.utils import zipfileext
-from models import Content
+from models import Content, Media
 import fnmatch
 import lxml.etree
 import os.path
@@ -142,20 +142,27 @@
         #    url = self.src
         #else:
         #    url = self.id + u"/" + os.path.basename(self.src)
-        content, self.created = Content.objects.get_or_create(iri_id=self.id, defaults = {'src':unicode(self.videourl), 'iriurl': unicode(self.src), 'title':unicode(self.title), 'description':unicode(self.desc), 'videopath': unicode(self.videopath)})
-        if not self.created:
-            content.iriurl = unicode(self.src)
-            content.title = unicode(self.title)
-            content.description = unicode(self.desc)
-            content.save()
+        defaults_media = {'src':unicode(self.videourl), 'title':unicode(self.title), 'description':unicode(self.desc), 'videopath': unicode(self.videopath.rstrip("/") + "/")}
+        media, media_created = Media.objects.get_or_create(src=unicode(self.videourl), defaults = defaults_media)
+        if not media_created:
+            for key, value in defaults_media.items():
+                setattr(media, key, value)
+
+        media.save()
 
-        content.iriurl = unicode(self.src)
-        content.videopath = unicode(self.videopath.rstrip("/") + "/")
-
-        content.iri = unicode(self.id + u"/" + os.path.basename(self.src))
-        content.title = unicode(self.title)
-        content.description = unicode(self.desc)
-        content.duration = int(self.duration)
+        defaults_content = { 
+            'iriurl': unicode(self.src), 
+            'title':unicode(self.title),
+            'description':unicode(self.desc),
+            'media':media,
+            'iri':unicode(self.id + u"/" + os.path.basename(self.src)),
+            'duration':int(self.duration)
+        }
+        content, self.created = Content.objects.get_or_create(iri_id=self.id, defaults = defaults_content)
+        if not self.created:
+            for key, value in defaults_content.items():
+                setattr(content, key, value)
+        
         content.save()
 
         self.content = content