diff -r 165d249eecc9 -r 47e0f0eef1cc sql/update_db_0_19_to_0_20.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sql/update_db_0_19_to_0_20.py Sun May 01 03:22:44 2011 +0200 @@ -0,0 +1,54 @@ +import sys, os, os.path, time, tempfile, uuid +import json + +from django.core.management import setup_environ +from blinkster import settings + +import lxml.etree + +setup_environ(settings) + +from ldt.ldt_utils.models import Media, Content + + +fp = open(os.path.join(os.path.dirname(os.path.abspath(__file__)),"update_db_0_19_to_0_20_content.json"), "r") +content_list = json.load(fp) + +for content_src in content_list: + #load iri + #get iri path + iri_path = os.path.join(settings.MEDIA_ROOT,"media/ldt",content_src['fields']['iri']) + iri_doc = lxml.etree.parse(iri_path) + + duration = int(iri_doc.xpath("/iri/body/medias/media[@id='video']/video/@dur")[0]) + src = unicode(iri_doc.xpath("/iri/body/medias/media[@id='video']/video/@src")[0]) + + media_list = Media.objects.filter(src=src) + if(len(media_list) > 0): + media = media_list[0] + else: + media = Media(src=src) + media.update_date=content_src['fields']['update_date'] + media.creation_date=content_src['fields']['creation_date'] + media.title = content_src['fields']['title'] + media.description = content_src['fields']['description'] + media.duration = duration + + media.save() + + iri_id = content_src['fields']['iri_id'] + content_list = Content.objects.filter(iri_id=iri_id) + + if(len(content_list)>0): + content = content_list[0] + else: + content = Content(iri_id=iri_id) + + content.iriurl = content_src['fields']['iri'] + content.title = content_src['fields']['title'] + content.description = content_src['fields']['description'] + content.duration = duration + content.media_obj = media + + content.save() +