X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/6280673f35e13e75e81c5b7821bd2a44a1831eab..357027375ff8867f42ca34bcbfb5a78b5b185fc3:/src/picture/migrations/0005_auto_20141022_1001.py?ds=sidebyside diff --git a/src/picture/migrations/0005_auto_20141022_1001.py b/src/picture/migrations/0005_auto_20141022_1001.py new file mode 100644 index 000000000..677877eae --- /dev/null +++ b/src/picture/migrations/0005_auto_20141022_1001.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.core.files.base import ContentFile +from django.db import models, migrations +from django.template.loader import render_to_string + + +def rebuild_extra_info(apps, schema_editor): + Picture = apps.get_model("picture", "Picture") + from librarian.picture import PictureInfo + from librarian import dcparser + for pic in Picture.objects.all(): + info = dcparser.parse(pic.xml_file.path, PictureInfo) + pic.extra_info = info.to_dict() + areas_json = pic.areas_json + for field in areas_json[u'things'].values(): + field[u'object'] = field[u'object'].capitalize() + pic.areas_json = areas_json + html_text = unicode(render_to_string('picture/picture_info.html', { + 'things': pic.areas_json['things'], + 'themes': pic.areas_json['themes'], + })) + pic.html_file.save("%s.html" % pic.slug, ContentFile(html_text)) + pic.save() + + +class Migration(migrations.Migration): + + dependencies = [ + ('picture', '0004_auto_20141016_1337'), + ] + + operations = [ + migrations.RunPython(rebuild_extra_info), + ]