From 11422449cf5d1274280dc875736fd63a61e6a30f Mon Sep 17 00:00:00 2001 From: Jordi Ballester Date: Fri, 17 Nov 2017 13:48:17 +0100 Subject: [PATCH] adapt code for compatibility with python 3 --- mis_builder/models/aep.py | 7 +++++-- mis_builder/models/kpimatrix.py | 11 ++++++----- mis_builder/models/mis_report.py | 7 +++++-- mis_builder/models/mis_report_style.py | 6 ++++++ 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/mis_builder/models/aep.py b/mis_builder/models/aep.py index 5e3c4f5cc..2c7d9defd 100644 --- a/mis_builder/models/aep.py +++ b/mis_builder/models/aep.py @@ -5,7 +5,10 @@ import datetime import re from collections import defaultdict -from itertools import izip +try: + import itertools.izip as zip +except ImportError: + pass # python 3 import time import dateutil @@ -519,4 +522,4 @@ def get_unallocated_pl(cls, companies, date, target_move='posted'): # or leave that to the caller? bals = cls._get_balances(cls.MODE_UNALLOCATED, companies, date, date, target_move) - return tuple(map(sum, izip(*bals.values()))) + return tuple(map(sum, zip(*bals.values()))) diff --git a/mis_builder/models/kpimatrix.py b/mis_builder/models/kpimatrix.py index 15a3b2790..241d04f2d 100644 --- a/mis_builder/models/kpimatrix.py +++ b/mis_builder/models/kpimatrix.py @@ -3,7 +3,10 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from collections import defaultdict, OrderedDict -from itertools import izip +try: + import itertools.izip as zip +except ImportError: + pass # python 3 import logging from odoo import _ @@ -233,7 +236,7 @@ def set_values_detail_account(self, kpi, col_key, account_id, vals, assert len(vals) == col.colspan assert len(drilldown_args) == col.colspan for val, drilldown_arg, subcol in \ - izip(vals, drilldown_args, col.iter_subcols()): + zip(vals, drilldown_args, col.iter_subcols()): if isinstance(val, DataError): val_rendered = val.name val_comment = val.msg @@ -323,9 +326,7 @@ def compute_comparisons(self): cell.subcol.subkpi in common_subkpis] comparison_cell_tuple = [] for val, base_val, comparison_subcol in \ - izip(vals, - base_vals, - comparison_col.iter_subcols()): + zip(vals, base_vals, comparison_col.iter_subcols()): # TODO FIXME average factors delta, delta_r, style_r = \ self._style_model.compare_and_render( diff --git a/mis_builder/models/mis_report.py b/mis_builder/models/mis_report.py index ecaafda63..da130d5f2 100644 --- a/mis_builder/models/mis_report.py +++ b/mis_builder/models/mis_report.py @@ -4,7 +4,10 @@ from collections import defaultdict import datetime -from itertools import izip +try: + import itertools.izip as zip +except ImportError: + pass # python 3 import logging import re import time @@ -799,7 +802,7 @@ def eval_expressions_by_account(expressions, locals_dict): drilldown_args = [] name_error = False for expression, replaced_expr in \ - izip(expressions, replaced_exprs): + zip(expressions, replaced_exprs): vals.append(mis_safe_eval(replaced_expr, locals_dict)) if replaced_expr != expression: drilldown_args.append({ diff --git a/mis_builder/models/mis_report_style.py b/mis_builder/models/mis_report_style.py index 952830b19..dc8a0c1d0 100644 --- a/mis_builder/models/mis_report_style.py +++ b/mis_builder/models/mis_report_style.py @@ -3,6 +3,8 @@ # Copyright 2016-2017 ACSONE SA/NV () # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +import sys + from odoo import api, fields, models, _ from odoo.exceptions import ValidationError @@ -10,6 +12,10 @@ from .data_error import DataError +if sys.version_info.major >= 3: + unicode = str + + class PropertyDict(dict): def __getattr__(self, name):