handle utf in make_master
[redakcja.git] / apps / catalogue / ebook_utils.py
index 5961b63..c16b295 100644 (file)
@@ -1,14 +1,19 @@
 # -*- coding: utf-8 -*-
 from catalogue.models import Book
-from librarian import DocProvider
+from librarian import DocProvider, IOFile
 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 IOFile.from_string(Book.objects.get(dc_slug=slug
+                    ).materialize(publishable=self.publishable
+                    ).encode('utf-8'))
 
 
 def serve_file(file_path, name, mime_type):