diff -r 06d158b5d24b -r a8ad7ebf5902 web/ldt/ldt_utils/fileimport.py --- 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