safely rename a method with a decorator
fetchinson at googlemail.com
Mon Mar 23 04:29:14 CET 2009
> there was discussion related to this same problem earlier in the week.
Thanks this was very helpful!
>> I'd like to implement a decorator that would rename the method which
>> it decorates. Since it's a tricky thing in general involving all sorts
>> of __magic__ I thought I would ask around first before writing
>> something buggy :)
>> It should work something like this:
>> class myclass( object ):
>> @rename( 'hello' )
>> def method( self ):
>> print 'ok'
>> # tests
>> inst = myclass( )
>> inst.method( ) # raise an AttributeError
>> inst.hello( ) # prints 'ok'
>> myclass.method # raise an AttributeError
>> myclass.hello # prints <unbound method myclass.hello>
>> assert 'method' in dir( myclass ) is False
>> assert 'hello' in dir( myclass ) is True
>> Any ideas?
Psss, psss, put it down! - http://www.cafepress.com/putitdown
More information about the Python-list