X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/ae60b2a3949e96357477cc04f90fd0873cee8a92..4db71d02697f83eac393bdf34fbe1aff54757df4:/src/reporting/utils.py?ds=sidebyside diff --git a/src/reporting/utils.py b/src/reporting/utils.py old mode 100755 new mode 100644 index f5d4c3342..797542abf --- a/src/reporting/utils.py +++ b/src/reporting/utils.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # @@ -22,7 +21,7 @@ def render_to_pdf(output_path, template, context=None, add_files=None): :param dict add_files: a dictionary of additional files XeTeX will need """ - from StringIO import StringIO + from io import BytesIO import shutil from tempfile import mkdtemp import subprocess @@ -30,10 +29,10 @@ def render_to_pdf(output_path, template, context=None, add_files=None): from django.template.loader import render_to_string rendered = render_to_string(template, context) - texml = StringIO(rendered.encode('utf-8')) + texml = BytesIO(rendered.encode('utf-8')) tempdir = mkdtemp(prefix="render_to_pdf-") tex_path = os.path.join(tempdir, "doc.tex") - with open(tex_path, 'w') as tex_file: + with open(tex_path, 'wb') as tex_file: Texml.processor.process(texml, tex_file, encoding="utf-8") if add_files: @@ -72,7 +71,7 @@ def render_to_csv(output_path, template, context=None, add_files=None): makedirs(os.path.dirname(output_path)) rendered = render_to_string(template, context) - with open(output_path, 'w') as csv_file: + with open(output_path, 'wb') as csv_file: csv_file.write(rendered.encode('utf-8')) @@ -111,7 +110,7 @@ def generated_file_view(file_name, mime_type, send_name=None, signals=None): response = HttpResponse(content_type=mime_type) response['Content-Disposition'] = 'attachment; filename=%s' % name - with open(file_path) as f: + with open(file_path, 'rb') as f: for chunk in read_chunks(f): response.write(chunk) return response