From 6bc940e07c23c0e72a260dda4e6920acab9f5932 Mon Sep 17 00:00:00 2001 From: mpanarin Date: Tue, 4 Sep 2018 15:15:14 +0300 Subject: [PATCH 1/3] [FIX] check None instead of falsy on reporter --- connector_importer/models/recordset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connector_importer/models/recordset.py b/connector_importer/models/recordset.py index a31676cca..6918b15f4 100644 --- a/connector_importer/models/recordset.py +++ b/connector_importer/models/recordset.py @@ -280,7 +280,7 @@ def run_import(self): def generate_report(self): self.ensure_one() reporter = self.get_source().get_reporter() - if not reporter: + if reporter is None: logger.debug('No reporter found...') return metadata, content = reporter.report_get(self) From 094f380d5641740118b782242ad71a4ccbbd27dc Mon Sep 17 00:00:00 2001 From: mpanarin Date: Tue, 4 Sep 2018 15:15:58 +0300 Subject: [PATCH 2/3] [FIX] base64 conversion --- connector_importer/models/recordset.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/connector_importer/models/recordset.py b/connector_importer/models/recordset.py index 6918b15f4..b9dfc4871 100644 --- a/connector_importer/models/recordset.py +++ b/connector_importer/models/recordset.py @@ -3,6 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import json +import base64 import os from collections import OrderedDict @@ -285,7 +286,7 @@ def generate_report(self): return metadata, content = reporter.report_get(self) self.write({ - 'report_file': content.encode('base64'), + 'report_file': base64.encodestring(content.encode()), 'report_filename': metadata['complete_filename'] }) logger.info(( From 5f4a2788cd5273ea23235427d8789ad218eaabb3 Mon Sep 17 00:00:00 2001 From: mpanarin Date: Tue, 4 Sep 2018 15:16:35 +0300 Subject: [PATCH 3/3] [FIX] for csv writer as it expects a string in python3 --- connector_importer/models/reporter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connector_importer/models/reporter.py b/connector_importer/models/reporter.py index 837fcaf36..ba4e08c2c 100644 --- a/connector_importer/models/reporter.py +++ b/connector_importer/models/reporter.py @@ -25,7 +25,7 @@ class ReporterMixin(models.AbstractModel): @api.model def report_get(self, recordset, **options): """Create and return a report for given recordset.""" - fileout = io.BytesIO() + fileout = io.StringIO() self.report_do(recordset, fileout, **options) self.report_finalize(recordset, fileout, **options) metadata = self.report_get_metadata(recordset, **options)