X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/ea710efc8f7d2a23c42e179ab01d73d78db32931..8a3885e1467e4c441721eaae608755a9fd10b33f:/src/catalogue/fields.py?ds=sidebyside diff --git a/src/catalogue/fields.py b/src/catalogue/fields.py index 9c5696fa6..ee64ee4d1 100644 --- a/src/catalogue/fields.py +++ b/src/catalogue/fields.py @@ -1,9 +1,9 @@ # This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # +from importlib.metadata import version import io import os -import pkg_resources import random import time from urllib.request import urlopen @@ -151,7 +151,7 @@ class EbookField(models.FileField): def get_current_etag(self): MediaInsertSet = apps.get_model('annoy', 'MediaInsertSet') - librarian_version = pkg_resources.get_distribution("librarian").version + librarian_version = version("librarian") etag = librarian_version mis = MediaInsertSet.get_for_format(self.ext) if mis is not None: @@ -398,6 +398,26 @@ class HtmlField(EbookField): return wldoc.as_html(gallery_path=gal_path, gallery_url=gal_url, base_url=absolute_url(gal_url)) +class HtmlNonotesField(EbookField): + ext = 'html' + for_parents = False + directory = 'html_nonotes' + + @staticmethod + def transform(wldoc, book): + # ugly, but we can't use wldoc.book_info here + from librarian import DCNS + url_elem = wldoc.edoc.getroot().find('.//' + DCNS('identifier.url')) + if url_elem is None: + gal_url = '' + gal_path = '' + else: + slug = url_elem.text.rstrip('/').rsplit('/', 1)[1] + gal_url = gallery_url(slug=slug) + gal_path = gallery_path(slug=slug) + return wldoc.as_html(gallery_path=gal_path, gallery_url=gal_url, base_url=absolute_url(gal_url), flags=['nonotes']) + + class CoverField(EbookField): ext = 'jpg' directory = 'cover'