From fffaf735f58f1ac57781c095eb552de6d1fcdc47 Mon Sep 17 00:00:00 2001 From: xmo-odoo Date: Wed, 10 May 2017 09:39:55 +0200 Subject: [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 --- odoo/cli/command.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'odoo/cli/command.py') diff --git a/odoo/cli/command.py b/odoo/cli/command.py index 2ab042f58e8..503ffcb360a 100644 --- a/odoo/cli/command.py +++ b/odoo/cli/command.py @@ -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, ' ') -- cgit v1.2.3