Wilbert Berendsen schrieb:
It's really tricky . The class object doesn't exists yet. It's created
after all functions are parsed and created. You have can walk up the
stack frames but it's ugly.
Christian
Hi, is it possible to manipulate class attributes from within a decorator
while the class is being defined?
>
I want to register methods with some additional values in a class attribute.
But I can't get a decorator to change a class attribute while the class is
still being defined. Something like:
>
class Parser(object):
>
regexps = []
def reg(regexp):
def deco(func):
regexps.append( (regexp, func))
return func
return deco
>
@reg(r'".*"')
def quoted_string(s elf):
pass
>
How can I reach the class attribute `regexps' from within a decorator?
while the class is being defined?
>
I want to register methods with some additional values in a class attribute.
But I can't get a decorator to change a class attribute while the class is
still being defined. Something like:
>
class Parser(object):
>
regexps = []
def reg(regexp):
def deco(func):
regexps.append( (regexp, func))
return func
return deco
>
@reg(r'".*"')
def quoted_string(s elf):
pass
>
How can I reach the class attribute `regexps' from within a decorator?
after all functions are parsed and created. You have can walk up the
stack frames but it's ugly.
Christian