[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
This commit is contained in:
xmo-odoo
2017-05-10 09:39:55 +02:00
committed by GitHub
parent 10eee18a04
commit fffaf735f5
237 changed files with 1160 additions and 953 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ class Help(Command):
"""Display the list of available commands"""
def run(self, args):
print("Available commands:\n")
names = commands.keys()
names = list(commands)
padding = max([len(k) for k in names]) + 2
for k in sorted(names):
name = k.ljust(padding, ' ')