Impl->Decorator

This commit is contained in:
Darren Ranalli 2006-10-04 23:21:09 +00:00
parent af2ef4dca8
commit c464005eec

View File

@ -145,16 +145,16 @@ def calldownEnforced(f):
""" """
if EnforcesCalldowns.notActive(): if EnforcesCalldowns.notActive():
return f return f
def calldownEnforcedImpl(obj, *args, **kArgs): def calldownEnforcedDecorator(obj, *args, **kArgs):
# track the fact that this func has been called # track the fact that this func has been called
obj._ECvisit(id(f)) obj._ECvisit(id(f))
f(obj, *args, **kArgs) f(obj, *args, **kArgs)
calldownEnforcedImpl.__doc__ = f.__doc__ calldownEnforcedDecorator.__doc__ = f.__doc__
calldownEnforcedImpl.__name__ = f.__name__ calldownEnforcedDecorator.__name__ = f.__name__
calldownEnforcedImpl.__module__ = f.__module__ calldownEnforcedDecorator.__module__ = f.__module__
EnforcesCalldowns._decoId2funcId[id(calldownEnforcedImpl)] = id(f) EnforcesCalldowns._decoId2funcId[id(calldownEnforcedDecorator)] = id(f)
EnforcesCalldowns._funcId2func[id(f)] = calldownEnforcedImpl EnforcesCalldowns._funcId2func[id(f)] = calldownEnforcedDecorator
return calldownEnforcedImpl return calldownEnforcedDecorator
if not EnforcesCalldowns.notActive(): if not EnforcesCalldowns.notActive():
class CalldownEnforceTest(EnforcesCalldowns): class CalldownEnforceTest(EnforcesCalldowns):