[python] dekorovany dekorator
Hynek Fabian
hynek.fabian na firma.seznam.cz
Pátek Únor 25 19:32:47 CET 2011
Napadla mě lehce šílená myšlenka v souvislosti s nedávnou debatou o
dekorátorech – nešlo by zařídit aby argumenty dekorátoru byly tam,
kde je všichni z nějakého záhadného důvodu očekáváme?
--- cut here ---
def plaindecorator(deco):
def argeater(*args, **kargs):
def funceater(fce):
return deco(fce, *args, **kargs)
return funceater
return argeater
# zkouska
@plaindecorator
def spam(fce, pwd):
def wrapper(*args, **kargs):
if pwd == raw_input("Password: "):
return fce(*args, **kargs)
else:
raise RuntimeError("Piss off")
return wrapper
@spam("it")
def ham(x):
print x
--- cut here ---
Dekorátor dekorátoru. Teď už mě v pythonu nepřekvapí nic.
Další informace o konferenci Python