X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/32e632734c0a8390775bb8661edc78c2045cf5f3..3200b733982abd6033a6b638d9c40ceda4948333:/src/catalogue/models/book.py diff --git a/src/catalogue/models/book.py b/src/catalogue/models/book.py index b2148e6b4..10ba5b23b 100644 --- a/src/catalogue/models/book.py +++ b/src/catalogue/models/book.py @@ -473,6 +473,8 @@ class Book(models.Model): def get_sync(self): + if not self.has_sync_file(): + return '[]' with self.get_media('sync').first().file.open('r') as f: sync = f.read().split('\n') offset = float(sync[0]) @@ -1105,6 +1107,24 @@ class Book(models.Model): def ridero_link(self): return 'https://ridero.eu/%s/books/wl_%s/' % (get_language(), self.slug.replace('-', '_')) + def elevenreader_link(self): + first_text = self.get_first_text() + if first_text is None: + return None + return 'https://elevenreader.io/audiobooks/wolnelektury:' + first_text.slug + + def content_warnings(self): + warnings_def = { + 'wulgaryzmy': _('wulgaryzmy'), + } + warnings = self.get_extra_info_json().get('content_warnings', []) + warnings = [ + warnings_def.get(w, w) + for w in warnings + ] + warnings.sort() + return warnings + def full_sort_key(self): return self.SORT_KEY_SEP.join((self.sort_key_author, self.sort_key, str(self.id)))