X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/e01dee1eda68946acf73e43f2c54b3c730514a21..29a0d33e9b44bfc99eedf000c8b60f6cff1815fa:/apps/catalogue/ebook_utils.py?ds=sidebyside diff --git a/apps/catalogue/ebook_utils.py b/apps/catalogue/ebook_utils.py index 5961b637..dae2e769 100644 --- a/apps/catalogue/ebook_utils.py +++ b/apps/catalogue/ebook_utils.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +from StringIO import StringIO from catalogue.models import Book from librarian import DocProvider from django.http import HttpResponse @@ -7,8 +8,13 @@ from django.http import HttpResponse class RedakcjaDocProvider(DocProvider): """Used for getting books' children.""" + def __init__(self, publishable): + self.publishable = publishable + def by_slug(self, slug): - return Book.objects.get(dc_slug=slug).xml_file + return StringIO(Book.objects.get(dc_slug=slug + ).materialize(publishable=self.publishable + ).encode('utf-8')) def serve_file(file_path, name, mime_type): @@ -18,7 +24,7 @@ def serve_file(file_path, name, mime_type): yield chunk chunk = f.read(size) - response = HttpResponse(mimetype=mime_type) + response = HttpResponse(content_type=mime_type) response['Content-Disposition'] = 'attachment; filename=%s' % name with open(file_path) as f: for chunk in read_chunks(f):