From 4ed343455c3fb396e2a77630ec604cbeee5ce37e Mon Sep 17 00:00:00 2001 From: Yannick Vaucher Date: Wed, 14 May 2014 13:22:42 +0200 Subject: [PATCH] Fix incompatibility with Windows using tempfile. --- addons/report_webkit/webkit_report.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py index 20c71e3acbd55..e6ed123b8ad2b 100644 --- a/addons/report_webkit/webkit_report.py +++ b/addons/report_webkit/webkit_report.py @@ -105,10 +105,9 @@ def generate_pdf(self, comm_path, report_xml, header, footer, html_list, webkit_ """Call webkit in order to generate pdf""" if not webkit_header: webkit_header = report_xml.webkit_header - out_filename = tempfile.NamedTemporaryFile(suffix=".pdf", - prefix="webkit.tmp.", - delete=False) - file_to_del = [out_filename.name] + fd, out_filename = tempfile.mkstemp(suffix=".pdf", + prefix="webkit.tmp.") + file_to_del = [out_filename] if comm_path: command = [comm_path] else: @@ -150,7 +149,7 @@ def generate_pdf(self, comm_path, report_xml, header, footer, html_list, webkit_ html_file.write(self._sanitize_html(html)) file_to_del.append(html_file.name) command.append(html_file.name) - command.append(out_filename.name) + command.append(out_filename) stderr_fd, stderr_path = tempfile.mkstemp(text=True) file_to_del.append(stderr_path) try: @@ -167,8 +166,9 @@ def generate_pdf(self, comm_path, report_xml, header, footer, html_list, webkit_ if status : raise except_osv(_('Webkit error' ), _("The command 'wkhtmltopdf' failed with error code = %s. Message: %s") % (status, error_message)) - with out_filename as pdf_file: + with open(out_filename, 'rb') as pdf_file: pdf = pdf_file.read() + os.close(fd) finally: if stderr_fd is not None: os.close(stderr_fd)