remove blockquote + update librarian
[wolnelektury.git] / src / catalogue / models / book.py
index 004c27e..dbbee78 100644 (file)
@@ -233,7 +233,7 @@ class Book(models.Model):
     def get_audio_length(self):
         from mutagen.mp3 import MP3
         total = 0
-        for media in self.get_mp3():
+        for media in self.get_mp3() or ():
             audio = MP3(media.file.path)
             total += audio.info.length
         return int(total)
@@ -754,7 +754,10 @@ class Book(models.Model):
     def fragment_data(self):
         fragment = self.choose_fragment()
         if fragment:
-            return {'title': fragment.book.pretty_title(), 'html': fragment.get_short_text()}
+            return {
+                'title': fragment.book.pretty_title(),
+                'html': re.sub('</?blockquote[^>]*>', '', fragment.get_short_text()),
+            }
         else:
             return None
 
@@ -770,6 +773,17 @@ class Book(models.Model):
     def ridero_link(self):
         return 'https://ridero.eu/%s/books/wl_%s/' % (get_language(), self.slug.replace('-', '_'))
 
+    def like(self, user):
+        from social.utils import likes, get_set, set_sets
+        if not likes(user, self):
+            tag = get_set(user, '')
+            set_sets(user, self, [tag])
+
+    def unlike(self, user):
+        from social.utils import likes, set_sets
+        if likes(user, self):
+            set_sets(user, self, [])
+
 
 def add_file_fields():
     for format_ in Book.formats: