Skip to content

replace functools.wrap with decorator #62

@myuwono

Description

@myuwono

functools.wrap mangles function signatures which obscure the input params in the doco.. the decorator package can resolve this.

Issue:

def dec(x):
    @functools.wrap(function)
    def wrapped(function):
        def f(*args, **kwargs):
            # do something
        return function(args, kwargs)

@dec(x=1)
def fun(a):
    pass

def fun2(a=1):
    pass

print(inspect.getargspec(fun))
# ArgSpec(args=[], varargs='args', keywords='kwargs', defaults=None)

print(inspect.getargspec(fun2))
# ArgSpec(args=[a], varargs=None, keywords=None, defaults=(1,)) 

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions