some missing contrib files
[wolnelektury.git] / src / picture / models.py
index 3a05ad8..2dadd0c 100644 (file)
@@ -22,7 +22,7 @@ import re
 
 from PIL import Image
 
 
 from PIL import Image
 
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
 from newtagging import managers
 from os import path
 
 from newtagging import managers
 from os import path
 
@@ -101,6 +101,8 @@ class Picture(models.Model):
 
     short_html_url_name = 'picture_short'
 
 
     short_html_url_name = 'picture_short'
 
+    is_picture = True
+
     class AlreadyExists(Exception):
         pass
 
     class AlreadyExists(Exception):
         pass
 
@@ -134,6 +136,15 @@ class Picture(models.Model):
     def authors(self):
         return self.tags.filter(category='author')
 
     def authors(self):
         return self.tags.filter(category='author')
 
+    def epochs(self):
+        return self.tags.filter(category='epoch')
+
+    def genres(self):
+        return self.tags.filter(category='genre')
+
+    def kinds(self):
+        return self.tags.filter(category='kind')
+
     def tag_unicode(self, category):
         relations = prefetched_relations(self, category)
         if relations:
     def tag_unicode(self, category):
         relations = prefetched_relations(self, category)
         if relations:
@@ -169,7 +180,7 @@ class Picture(models.Model):
             return None
 
     @classmethod
             return None
 
     @classmethod
-    def from_xml_file(cls, xml_file, image_file=None, image_store=None, overwrite=False, search_index=True):
+    def from_xml_file(cls, xml_file, image_file=None, image_store=None, overwrite=False):
         """
         Import xml and it's accompanying image file.
         If image file is missing, it will be fetched by librarian.picture.ImageStore
         """
         Import xml and it's accompanying image file.
         If image file is missing, it will be fetched by librarian.picture.ImageStore
@@ -294,8 +305,6 @@ class Picture(models.Model):
             picture.xml_file.save("%s.xml" % picture.slug, File(xml_file))
             picture.save()
             tasks.generate_picture_html(picture.id)
             picture.xml_file.save("%s.xml" % picture.slug, File(xml_file))
             picture.save()
             tasks.generate_picture_html(picture.id)
-            if not settings.NO_SEARCH_INDEX and search_index:
-                tasks.index_picture.delay(picture.id, picture_info=picture_xml.picture_info)
 
         if close_xml_file:
             xml_file.close()
 
         if close_xml_file:
             xml_file.close()
@@ -367,17 +376,3 @@ class Picture(models.Model):
     def clear_cache(self):
         clear_cached_renders(self.mini_box)
         clear_cached_renders(self.midi_box)
     def clear_cache(self):
         clear_cached_renders(self.mini_box)
         clear_cached_renders(self.midi_box)
-
-    def search_index(self, picture_info=None, index=None, index_tags=True, commit=True):
-        if index is None:
-            from search.index import Index
-            index = Index()
-        try:
-            index.index_picture(self, picture_info)
-            if index_tags:
-                index.index_tags()
-            if commit:
-                index.index.commit()
-        except Exception as e:
-            index.index.rollback()
-            raise e