from decorator import decorator
from functools import partial
def decoflex(decfac, *args, **kw):
def wrapped(df, param=None, *args, **kw):
return partial(df, param, *args, **kw)
return partial(wrapped, decfac, *args, **kw)
@decoflex
def monkeypatch(cls, f, *args, **kwargs):
if not hasattr(f, "__name__") and kwargs.get('fname', False):
setattr(cls, fname, f)
del kwargs['fname']
else:
setattr(cls, f.__name__, f)
return f
@decorator
def trace(f, *args, **kwargs):
print "%s :: %s, %s" % (f.__name__, args, kwargs)
return f(*args, **kwargs)
Comments