[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:
+1
-1
@@ -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, ' ')
|
||||
|
||||
Reference in New Issue
Block a user