summaryrefslogtreecommitdiff
path: root/addons/web_editor
diff options
context:
space:
mode:
authorxmo-odoo <xmo@odoo.com>2017-05-10 09:39:55 +0200
committerGitHub <noreply@github.com>2017-05-10 09:39:55 +0200
commitfffaf735f58f1ac57781c095eb552de6d1fcdc47 (patch)
tree88ab0ab65430d871862a836524e0ecc890d1674d /addons/web_editor
parent10eee18a047d35305dc46282e610e88936d81ffc (diff)
[FIX] P3: list -> iterable builtins (#16811)
In Python 3: * various builtins and dict methods were changed to return view/iterable objects rather than lists * and the separate Python 2 view/iterable builtins and methods were removed altogether This is problematic when using these items as list (which the happens repeatedly in Odoo), but more viciously when iterating *multiple times* over them (which also happens, which I've messed up multiple times while writing this, and which is a pain to debug even when you've just created the issue). Convert all code using these to semantics-matching cross-version helper functions to get the LCD behaviour between P2 and P3, and forbid the builtins via lint. issue #8530
Diffstat (limited to 'addons/web_editor')
-rw-r--r--addons/web_editor/models/ir_qweb.py4
-rw-r--r--addons/web_editor/models/ir_ui_view.py4
2 files changed, 4 insertions, 4 deletions
diff --git a/addons/web_editor/models/ir_qweb.py b/addons/web_editor/models/ir_qweb.py
index 751767800d6..e3bd9ec94e2 100644
--- a/addons/web_editor/models/ir_qweb.py
+++ b/addons/web_editor/models/ir_qweb.py
@@ -26,7 +26,7 @@ from PIL import Image as I
import odoo.modules
from odoo import api, models, fields
-from odoo.tools import ustr
+from odoo.tools import ustr, pycompat
from odoo.tools import html_escape as escape
from odoo.addons.base.ir import ir_qweb
@@ -283,7 +283,7 @@ class Image(models.AbstractModel):
"hose again."
aclasses = ['img', 'img-responsive'] + options.get('class', '').split()
- classes = ' '.join(itertools.imap(escape, aclasses))
+ classes = ' '.join(pycompat.imap(escape, aclasses))
max_size = None
if options.get('resize'):
diff --git a/addons/web_editor/models/ir_ui_view.py b/addons/web_editor/models/ir_ui_view.py
index 65464fa7493..4c065a5b634 100644
--- a/addons/web_editor/models/ir_ui_view.py
+++ b/addons/web_editor/models/ir_ui_view.py
@@ -84,8 +84,8 @@ class IrUiView(models.Model):
@api.model
def to_field_ref(self, el):
# filter out meta-information inserted in the document
- attributes = dict((k, v) for k, v in el.items()
- if not k.startswith('data-oe-'))
+ attributes = {k: v for k, v in pycompat.items(el.attrib)
+ if not k.startswith('data-oe-')}
attributes['t-field'] = el.get('data-oe-expression')
out = html.html_parser.makeelement(el.tag, attrib=attributes)