X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/3d1fb545dd1f49e0624d3adf20e5568b1c33d8ec..120d1af7c84eba0f9b31315bfcf7c9a0dc544269:/apps/catalogue/utils.py?ds=sidebyside diff --git a/apps/catalogue/utils.py b/apps/catalogue/utils.py index 566eaf4cd..02e5b6d93 100644 --- a/apps/catalogue/utils.py +++ b/apps/catalogue/utils.py @@ -10,6 +10,8 @@ from django.core.files.uploadedfile import UploadedFile from django.utils.hashcompat import sha_constructor from django.conf import settings +from librarian import DocProvider + # Use the system (hardware-based) random number generator if it exists. if hasattr(random, 'SystemRandom'): @@ -44,3 +46,16 @@ class ExistingFile(UploadedFile): def close(self): pass + + +class BookImportDocProvider(DocProvider): + """ used for joined EPUBs """ + + def __init__(self, book): + self.book = book + + def by_slug(self, slug): + if slug == self.book.slug: + return self.book.xml_file + else: + return Book.objects.get(slug=slug).xml_file