Translators as authors.
[wolnelektury.git] / src / picture / models.py
index 2dadd0c..98fd382 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, transaction
 import catalogue.models
@@ -22,7 +22,6 @@ import re
 
 from PIL import Image
 
-from django.utils.translation import gettext_lazy as _
 from newtagging import managers
 from os import path
 
@@ -34,10 +33,11 @@ picture_storage = FileSystemStorage(location=path.join(
 
 class PictureArea(models.Model):
     picture = models.ForeignKey('picture.Picture', models.CASCADE, related_name='areas')
-    area = models.TextField(_('area'), default='{}', editable=False)
+    area = models.TextField('obszar', default='{}', editable=False)
     kind = models.CharField(
-        _('kind'), max_length=10, blank=False, null=False, db_index=True,
-        choices=(('thing', _('thing')), ('theme', _('theme'))))
+        'typ', max_length=10, blank=False, null=False, db_index=True,
+        choices=(('thing', 'przedmiot'), ('theme', 'motyw'))
+    )
 
     objects = models.Manager()
     tagged = managers.ModelTaggedItemManager(catalogue.models.Tag)
@@ -57,37 +57,24 @@ class PictureArea(models.Model):
     def get_area_json(self):
         return json.loads(self.area)
 
-    @cached_render('picture/picturearea_short.html')
-    def midi_box(self):
-        themes = self.tags.filter(category='theme')
-        things = self.tags.filter(category='thing')
-        return {
-            'area': self,
-            'theme': themes[0] if themes else None,
-            'thing': things[0] if things else None,
-        }
-
-    def clear_cache(self):
-        clear_cached_renders(self.midi_box)
-
 
 class Picture(models.Model):
     """
     Picture resource.
 
     """
-    title = models.CharField(_('title'), max_length=32767)
-    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)
+    title = models.CharField('tytuł', max_length=32767)
+    slug = models.SlugField('slug', max_length=120, db_index=True, unique=True)
+    sort_key = models.CharField('klucz sortowania', 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='')
-    created_at = models.DateTimeField(_('creation date'), auto_now_add=True, db_index=True)
-    changed_at = models.DateTimeField(_('creation date'), auto_now=True, db_index=True)
-    xml_file = models.FileField(_('xml file'), upload_to="xml", storage=picture_storage)
-    image_file = ImageField(_('image file'), upload_to="images", storage=picture_storage)
-    html_file = models.FileField(_('html file'), upload_to="html", storage=picture_storage)
-    areas_json = models.TextField(_('picture areas JSON'), default='{}', editable=False)
-    extra_info = models.TextField(_('extra information'), default='{}')
+        'klucz sortowania wg autora', max_length=120, db_index=True, editable=False, default='')
+    created_at = models.DateTimeField('data utworzenia', auto_now_add=True, db_index=True)
+    changed_at = models.DateTimeField('data zmiany', auto_now=True, db_index=True)
+    xml_file = models.FileField('plik xml', upload_to="xml", storage=picture_storage)
+    image_file = ImageField('plik obrazu', upload_to="images", storage=picture_storage)
+    html_file = models.FileField('plik html', upload_to="html", storage=picture_storage)
+    areas_json = models.TextField('obszary w JSON', default='{}', editable=False)
+    extra_info = models.TextField('dodatkowa informacja', default='{}')
     culturepl_link = models.CharField(blank=True, max_length=240)
     wiki_link = models.CharField(blank=True, max_length=240)
 
@@ -109,8 +96,8 @@ class Picture(models.Model):
     class Meta:
         ordering = ('sort_key_author', 'sort_key')
 
-        verbose_name = _('picture')
-        verbose_name_plural = _('pictures')
+        verbose_name = 'obraz'
+        verbose_name_plural = 'obrazy'
 
     def get_extra_info_json(self):
         return json.loads(self.extra_info or '{}')
@@ -215,7 +202,7 @@ class Picture(models.Model):
             picture.title = str(picture_xml.picture_info.title)
             picture.extra_info = json.dumps(picture_xml.picture_info.to_dict())
 
-            picture_tags = set(catalogue.models.Tag.tags_from_info(picture_xml.picture_info))
+            picture_tags = set([t for (t, rel) in catalogue.models.Tag.tags_from_info(picture_xml.picture_info)])
             for tag in picture_tags:
                 if not tag.for_pictures:
                     tag.for_pictures = True
@@ -363,16 +350,9 @@ class Picture(models.Model):
             'picture': self,
         }
 
-    @cached_render('picture/picture_short.html')
-    def midi_box(self):
-        return {
-            'picture': self,
-        }
-
     def related_themes(self):
         return catalogue.models.Tag.objects.usage_for_queryset(
             self.areas.all(), counts=True).filter(category__in=('theme', 'thing'))
 
     def clear_cache(self):
         clear_cached_renders(self.mini_box)
-        clear_cached_renders(self.midi_box)