safely rename a method with a decorator

D

Daniel Fetchinson

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,073
Latest member
DarinCeden

Latest Threads

Top