Skip to content

Commit 02a6c1c

Browse files
committed
Isolated unbound function logic in utils
1 parent c961f0b commit 02a6c1c

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

graphene/types/typemap.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from graphql.type.typemap import GraphQLTypeMap
1111

1212
from ..utils.str_converters import to_camel_case
13+
from ..utils.get_unbound_function import get_unbound_function
1314
from .dynamic import Dynamic
1415
from .enum import Enum
1516
from .inputobjecttype import InputObjectType
@@ -251,11 +252,10 @@ def get_resolver_for_type(self, type, name, default_value):
251252
if interface_resolver:
252253
break
253254
resolver = interface_resolver
255+
254256
# Only if is not decorated with classmethod
255257
if resolver:
256-
if not getattr(resolver, '__self__', True):
257-
return resolver.__func__
258-
return resolver
258+
return get_unbound_function(resolver)
259259

260260
return partial(self.default_resolver, name, default_value)
261261

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
def get_unbound_function(func):
2+
if not getattr(func, '__self__', True):
3+
return func.__func__
4+
return func

0 commit comments

Comments
 (0)