Allow uploading audiobooks via API.
[wolnelektury.git] / src / picture / models.py
index 455ed10..a3c098c 100644 (file)
@@ -9,8 +9,7 @@ from sorl.thumbnail import ImageField
 from django.conf import settings
 from django.contrib.contenttypes.fields import GenericRelation
 from django.core.files.storage import FileSystemStorage
-from django.utils.datastructures import SortedDict
-from fnpdjango.utils.text.slughifi import slughifi
+from slugify import slugify
 from ssify import flush_ssi_includes
 
 from catalogue.models.tag import prefetched_relations
@@ -145,7 +144,7 @@ class Picture(models.Model):
 
     @permalink
     def get_absolute_url(self):
-        return 'picture.views.picture_detail', [self.slug]
+        return 'picture_detail', [self.slug]
 
     def get_initial(self):
         try:
@@ -224,7 +223,7 @@ class Picture(models.Model):
                         # str.capitalize() is wrong, because it also lowers letters
                         objname = objname[0].upper() + objname[1:]
                         tag, created = catalogue.models.Tag.objects.get_or_create(
-                            slug=slughifi(objname), category='thing')
+                            slug=slugify(objname), category='thing')
                         if created:
                             tag.name = objname
                             setattr(tag, 'name_%s' % lang, tag.name)
@@ -249,7 +248,7 @@ class Picture(models.Model):
                     for motifs in part['themes']:
                         for motif in motifs.split(','):
                             tag, created = catalogue.models.Tag.objects.get_or_create(
-                                slug=slughifi(motif), category='theme')
+                                slug=slugify(motif), category='theme')
                             if created:
                                 tag.name = motif
                                 tag.sort_key = sortify(tag.name)
@@ -326,33 +325,6 @@ class Picture(models.Model):
         annotated.paste(annotation.resize((img.size[0], 40), Image.ANTIALIAS), (0, img.size[1]))
         return annotated
 
-    # WTF/unused
-    @classmethod
-    def picture_list(cls, filter=None):
-        """Generates a hierarchical listing of all pictures
-        Pictures are optionally filtered with a test function.
-        """
-
-        pics = cls.objects.all().order_by('sort_key').only('title', 'slug', 'image_file')
-
-        if filter:
-            pics = pics.filter(filter).distinct()
-
-        pics_by_author = SortedDict()
-        orphans = []
-        for tag in catalogue.models.Tag.objects.filter(category='author'):
-            pics_by_author[tag] = []
-
-        for pic in pics.iterator():
-            authors = list(pic.authors().only('pk'))
-            if authors:
-                for author in authors:
-                    pics_by_author[author].append(pic)
-            else:
-                orphans.append(pic)
-
-        return pics_by_author, orphans
-
     @property
     def info(self):
         if not hasattr(self, '_info'):