From: Radek Czajka Date: Wed, 24 Sep 2014 14:06:02 +0000 (+0200) Subject: Fix Picture import: split theme names, more space for titles. X-Git-Url: https://git.mdrn.pl/wolnelektury.git/commitdiff_plain/1f2851343188a77995cd1b32e1a0cb910e8f413d?ds=sidebyside Fix Picture import: split theme names, more space for titles. --- diff --git a/apps/picture/migrations/0003_auto_20140924_1559.py b/apps/picture/migrations/0003_auto_20140924_1559.py new file mode 100644 index 000000000..4e257d809 --- /dev/null +++ b/apps/picture/migrations/0003_auto_20140924_1559.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('picture', '0002_remove_picture__related_info'), + ] + + operations = [ + migrations.AlterField( + model_name='picture', + name='title', + field=models.CharField(max_length=255, verbose_name='Title'), + ), + ] diff --git a/apps/picture/models.py b/apps/picture/models.py index 42a26c3c5..cc29f8583 100644 --- a/apps/picture/models.py +++ b/apps/picture/models.py @@ -72,7 +72,7 @@ class Picture(models.Model): Picture resource. """ - title = models.CharField(_('title'), max_length=120) + title = models.CharField(_('title'), max_length=255) slug = models.SlugField(_('slug'), max_length=120, db_index=True, unique=True) sort_key = models.CharField(_('sort key'), max_length=120, db_index=True, editable=False) sort_key_author = models.CharField(_('sort key by author'), max_length=120, db_index=True, editable=False, default=u'') @@ -175,37 +175,40 @@ class Picture(models.Model): c = picture_xml.frame[0] part['coords'] = [[p[0] - c[0], p[1] - c[1]] for p in part['coords']] if part.get('object', None) is not None: - objname = part['object'] - tag, created = catalogue.models.Tag.objects.get_or_create(slug=slughifi(objname), category='thing') - if created: - tag.name = objname - tag.sort_key = sortify(tag.name) - tag.save() - #thing_tags.add(tag) - area_data['things'][tag.slug] = { - 'object': part['object'], - 'coords': part['coords'], - } - area = PictureArea.rectangle(picture, 'thing', part['coords']) - area.save() _tags = set() - _tags.add(tag) - area.tags = _tags - else: - _tags = set() - for motif in part['themes']: - tag, created = catalogue.models.Tag.objects.get_or_create(slug=slughifi(motif), category='theme') + for objname in part['object'].split(','): + objname = objname.strip() + tag, created = catalogue.models.Tag.objects.get_or_create(slug=slughifi(objname), category='thing') if created: - tag.name = motif + tag.name = objname tag.sort_key = sortify(tag.name) tag.save() - #motif_tags.add(tag) - _tags.add(tag) - area_data['themes'][tag.slug] = { - 'theme': motif, - 'coords': part['coords'] + #thing_tags.add(tag) + area_data['things'][tag.slug] = { + 'object': part['object'], + 'coords': part['coords'], } + _tags.add(tag) + area = PictureArea.rectangle(picture, 'thing', part['coords']) + area.save() + area.tags = _tags + else: + _tags = set() + for motifs in part['themes']: + for motif in motifs.split(','): + tag, created = catalogue.models.Tag.objects.get_or_create(slug=slughifi(motif), category='theme') + if created: + tag.name = motif + tag.sort_key = sortify(tag.name) + tag.save() + #motif_tags.add(tag) + _tags.add(tag) + area_data['themes'][tag.slug] = { + 'theme': motif, + 'coords': part['coords'] + } + logging.debug("coords for theme: %s" % part['coords']) area = PictureArea.rectangle(picture, 'theme', part['coords']) area.save()