This commit is contained in:
parent
1928d83259
commit
7a575d2f4b
@ -105,7 +105,17 @@ def register(self, spec, method):
|
|||||||
|
|
||||||
def __get__(self, obj, objtype):
|
def __get__(self, obj, objtype):
|
||||||
"""This makes __call__ support instance methods."""
|
"""This makes __call__ support instance methods."""
|
||||||
return functools.partial(self.__call__, obj)
|
# Method_list is a list of tuples (constraint, method)
|
||||||
|
# Here we are going to assume that we have at least one
|
||||||
|
# element in the list. The first registered function
|
||||||
|
# will be the one 'wrapped'.
|
||||||
|
wrapped_method = self.method_list[0][1]
|
||||||
|
# Call functools.wraps manually to get all the attributes
|
||||||
|
# we need to be disguised as the wrapped_method
|
||||||
|
func = functools.wraps(wrapped_method)(
|
||||||
|
functools.partial(self.__call__, obj)
|
||||||
|
)
|
||||||
|
return func
|
||||||
|
|
||||||
def __call__(self, package_self, *args, **kwargs):
|
def __call__(self, package_self, *args, **kwargs):
|
||||||
"""Find the first method with a spec that matches the
|
"""Find the first method with a spec that matches the
|
||||||
|
Loading…
Reference in New Issue
Block a user