updated contents from Atlas repo
This commit is contained in:
29
decorators/registration_param.py
Normal file
29
decorators/registration_param.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# BEGIN REGISTRATION_PARAM
|
||||
|
||||
registry = set() # <1>
|
||||
|
||||
def register(active=True): # <2>
|
||||
def decorate(func): # <3>
|
||||
print('running register(active=%s)->decorate(%s)'
|
||||
% (active, func))
|
||||
if active: # <4>
|
||||
registry.add(func)
|
||||
else: # <5>
|
||||
if func in registry:
|
||||
registry.remove(func)
|
||||
|
||||
return func # <6>
|
||||
return decorate # <7>
|
||||
|
||||
@register(active=False) # <8>
|
||||
def f1():
|
||||
print('running f1()')
|
||||
|
||||
@register() # <9>
|
||||
def f2():
|
||||
print('running f2()')
|
||||
|
||||
def f3():
|
||||
print('running f3()')
|
||||
|
||||
# END REGISTRATION_PARAM
|
||||
Reference in New Issue
Block a user