From 878283f5e6744ff0d0fc68fcadfa0551d4ad1a0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 15 Jan 2018 23:04:10 +0100 Subject: [PATCH] Use is_instance_method tool compatible with Python3 issue7053 review37921002 --- proteus/config.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/proteus/config.py b/proteus/config.py index 6b0af12c8e..e4fe970ea7 100644 --- a/proteus/config.py +++ b/proteus/config.py @@ -154,8 +154,9 @@ class _TrytondMethod(object): self._config = config def __call__(self, *args, **kwargs): - from trytond.transaction import Transaction from trytond.rpc import RPC + from trytond.tools import is_instance_method + from trytond.transaction import Transaction if self._name in self._object.__rpc__: rpc = self._object.__rpc__[self._name] @@ -169,7 +170,8 @@ class _TrytondMethod(object): args, kwargs, transaction.context, transaction.timestamp = \ rpc.convert(self._object, *args, **kwargs) meth = getattr(self._object, self._name) - if not hasattr(meth, 'im_self') or meth.im_self: + if (rpc.instantiate is None + or not is_instance_method(self._object, meth)): result = rpc.result(meth(*args, **kwargs)) else: assert rpc.instantiate == 0