X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/73b6a1639ba8f9f5fc7615c136364fdba73e5bb2..b6acaa277803adf1f39dd61b362ca499b1bb6064:/src/catalogue/models/book.py diff --git a/src/catalogue/models/book.py b/src/catalogue/models/book.py index 004c27e89..8c53d9c1a 100644 --- a/src/catalogue/models/book.py +++ b/src/catalogue/models/book.py @@ -115,8 +115,6 @@ class Book(models.Model): html_built = django.dispatch.Signal() published = django.dispatch.Signal() - short_html_url_name = 'catalogue_book_short' - class AlreadyExists(Exception): pass @@ -233,7 +231,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 +752,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(']*>', '', fragment.get_short_text()), + } else: return None @@ -770,6 +771,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: