From 4af5ee82e39b3cf6f14e6ae4f14b566c83ac8ed4 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Fri, 21 Aug 2015 11:20:27 +0200 Subject: [PATCH] Python 3: use __code__ instead of func_code The former works with both Python 2 and 3. Change-Id: Id2f6d313bf90777e02b20b7f6f4fb99e79e85aff Blueprint: neutron-python3 --- neutron/db/db_base_plugin_common.py | 2 +- neutron/plugins/cisco/l2device_plugin_base.py | 4 ++-- tox.ini | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/neutron/db/db_base_plugin_common.py b/neutron/db/db_base_plugin_common.py index b79ac10cb..e1e39f5bb 100644 --- a/neutron/db/db_base_plugin_common.py +++ b/neutron/db/db_base_plugin_common.py @@ -50,7 +50,7 @@ def filter_fields(f): fields = kwargs.get('fields') if not fields: try: - pos = f.func_code.co_varnames.index('fields') + pos = f.__code__.co_varnames.index('fields') fields = args[pos] except (IndexError, ValueError): return result diff --git a/neutron/plugins/cisco/l2device_plugin_base.py b/neutron/plugins/cisco/l2device_plugin_base.py index 56fd91f19..660e5f8d0 100644 --- a/neutron/plugins/cisco/l2device_plugin_base.py +++ b/neutron/plugins/cisco/l2device_plugin_base.py @@ -160,9 +160,9 @@ class L2DevicePluginBase(object): fn_obj = base.__dict__[method] if inspect.isfunction(fn_obj): abstract_fn_obj = cls.__dict__[method] - arg_count = fn_obj.func_code.co_argcount + arg_count = fn_obj.__code__.co_argcount expected_arg_count = \ - abstract_fn_obj.func_code.co_argcount + abstract_fn_obj.__code__.co_argcount method_ok = arg_count == expected_arg_count if method_ok: continue diff --git a/tox.ini b/tox.ini index 233f3fcfa..c6a845aa4 100644 --- a/tox.ini +++ b/tox.ini @@ -253,7 +253,8 @@ commands = python -m testtools.run \ neutron.tests.unit.ipam.test_requests \ neutron.tests.unit.notifiers.test_nova \ neutron.tests.unit.notifiers.test_batch_notifier \ - neutron.tests.unit.api.test_extensions + neutron.tests.unit.api.test_extensions \ + neutron.tests.unit.db.test_db_base_plugin_common [flake8] # E125 continuation line does not distinguish itself from next logical line -- 2.45.2