Copy more attributes from controller callables to partial wrappers
parent
92ba7c9387
commit
92ef80fd61
|
@ -94,10 +94,17 @@ class Router(object):
|
||||||
urlvars = match.groupdict()
|
urlvars = match.groupdict()
|
||||||
urlvars.update(vars)
|
urlvars.update(vars)
|
||||||
func = functools.partial(controller, **urlvars)
|
func = functools.partial(controller, **urlvars)
|
||||||
if hasattr(func, '__name__'):
|
# Work around for Python Issue 3445 for older versions
|
||||||
func.__name__ = controller.__name__
|
for attr in functools.WRAPPER_ASSIGNMENTS:
|
||||||
if hasattr(func, '__doc__'):
|
try:
|
||||||
func.__doc__ = controller.__doc__
|
value = getattr(controller, attr)
|
||||||
|
except AttributeError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
setattr(func, attr, value)
|
||||||
|
for attr in functools.WRAPPER_UPDATES:
|
||||||
|
getattr(func, attr).update(getattr(controller,
|
||||||
|
attr, {}))
|
||||||
self._cache[path_info] = func
|
self._cache[path_info] = func
|
||||||
return func
|
return func
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue