From e4b984a0b85e5c726cc8c06383e11a537f0aa433 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 25 Mar 2022 12:11:25 +0100 Subject: [PATCH 06/11] misc: search endpoints on model not on the instance Instance have property descriptors which can fail on a getattr(), raising errors during getmembers(), by iterating on the class we work around that. --- passerelle/base/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/passerelle/base/models.py b/passerelle/base/models.py index 977c1add..9215870f 100644 --- a/passerelle/base/models.py +++ b/passerelle/base/models.py @@ -280,7 +280,7 @@ class BaseResource(models.Model): def get_endpoints_infos(self): endpoints = [] - for name, method in inspect.getmembers(self, predicate=inspect.ismethod): + for name, method in inspect.getmembers(type(self), predicate=inspect.isfunction): if hasattr(method, 'endpoint_info'): method.endpoint_info.object = self endpoint_name = method.endpoint_info.name -- 2.35.1