safely rename a method with a decorator
andrew cooke
andrew at acooke.org
Sun Mar 22 21:37:41 EDT 2009
there was discussion related to this same problem earlier in the week.
http://groups.google.com/group/comp.lang.python/browse_thread/thread/ad08eb9eb83a4e61/d1906cbc26e16d15?q=Mangle+function+name+with+decorator%3F
andrew
Daniel Fetchinson wrote:
> 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?
>
> Cheers,
> Daniel
>
> --
> Psss, psss, put it down! - http://www.cafepress.com/putitdown
> --
> http://mail.python.org/mailman/listinfo/python-list
>
>
More information about the Python-list
mailing list