author | ymh <ymh.work@gmail.com> |
Fri, 01 Feb 2013 17:47:35 +0100 | |
changeset 42 | ac8b747e1275 |
parent 7 | 74cc78bbd65f |
permissions | -rw-r--r-- |
7
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
1 |
#! /usr/bin/env python |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
2 |
|
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
3 |
from django.core.management import setup_environ |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
4 |
from ldtplatform import settings |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
5 |
|
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
6 |
setup_environ(settings) |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
7 |
|
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
8 |
from django.db import connections |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
9 |
import lxml.etree |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
10 |
from ldt.ldt_utils.models import Media, Content |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
11 |
|
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
12 |
cur = connections['migration_rs'].cursor() |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
13 |
|
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
14 |
# Get all "regarssignes" contents |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
15 |
cur.execute("SELECT * from ldt_content") |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
16 |
rows = cur.fetchall() |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
17 |
s = "Show me the databases:\n" |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
18 |
for row in rows: |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
19 |
s += "\n " + str(row) |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
20 |
# (id-0, u'iri_id'-1, u'iri_url'-2, u'videopath'-3, datetime creation_date-4, datetime update_date-5, u'title'-6, description-7, eternal_id-8) |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
21 |
# (1, u'laurentcantet_entrelesmurs', u'laurentcantet_entrelesmurs/laurentcantet_entrelesmurs.iri', u'rtmp://media.iri.centrepompidou.fr/ddc_player/video/regardssignes/', datetime.datetime(2010, 2, 17, 5, 24, 13, 69794, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=60, name=None)), datetime.datetime(2010, 2, 17, 5, 24, 13, 91656, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=60, name=None)), u'Entre Les Murs', None, None) |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
22 |
# Get duration from the iri file |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
23 |
prePath = settings.MEDIA_ROOT + u"ldt/" |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
24 |
doc = lxml.etree.parse(prePath + row[2]) |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
25 |
res = doc.xpath("/iri/body/medias/media[@id='video']/video") |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
26 |
if len(res) > 0: |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
27 |
try: |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
28 |
dur = int(res[0].get(u'dur', 0) or 0) |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
29 |
except: |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
30 |
dur = 3600000 |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
31 |
else: |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
32 |
dur = 3600000 |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
33 |
# Build platform media and platform content from "regarssignes" contents |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
34 |
media = Media.objects.create(external_id=row[8], creation_date=row[4], update_date=row[5], videopath=row[3], duration=dur, |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
35 |
description=row[7], title=row[6], src=(row[1] + u".flv"), mimetype_field="('video/x-flv', None)") |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
36 |
media.save() |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
37 |
|
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
38 |
content = Content.objects.create(iri_id=row[1], iriurl=row[2], creation_date=row[4], update_date=row[5], title=row[6], description=row[7], |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
39 |
content_creation_date=row[4], duration=dur, media_obj=media) |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
40 |
content.save() |
74cc78bbd65f
Update regards signes for migration to platform instance.
cavaliet
parents:
diff
changeset
|
41 |