X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/357027375ff8867f42ca34bcbfb5a78b5b185fc3..159b148e9d37274930d6c0f76c365d333f16fd87:/src/reporting/utils.py?ds=sidebyside diff --git a/src/reporting/utils.py b/src/reporting/utils.py index 8ecb9b045..955f7d92d 100755 --- a/src/reporting/utils.py +++ b/src/reporting/utils.py @@ -8,6 +8,7 @@ import os.path from django.conf import settings import logging from django.http import HttpResponse +from wolnelektury.utils import makedirs logger = logging.getLogger(__name__) @@ -21,7 +22,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 @@ -29,7 +30,7 @@ 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: @@ -47,12 +48,10 @@ def render_to_pdf(output_path, template, context=None, add_files=None): cwd = os.getcwd() os.chdir(tempdir) try: - subprocess.check_call(['xelatex', '-interaction=batchmode', tex_path], + subprocess.check_call( + ['xelatex', '-interaction=batchmode', tex_path], stdout=subprocess.PIPE, stderr=subprocess.PIPE) - try: - os.makedirs(os.path.dirname(output_path)) - except: - pass + makedirs(os.path.dirname(output_path)) shutil.move(os.path.join(tempdir, "doc.pdf"), output_path) finally: os.chdir(cwd) @@ -70,10 +69,7 @@ def render_to_csv(output_path, template, context=None, add_files=None): from django.template.loader import render_to_string - try: - os.makedirs(os.path.dirname(output_path)) - except: - pass + makedirs(os.path.dirname(output_path)) rendered = render_to_string(template, context) with open(output_path, 'w') as csv_file: