CONSTRUCT - Python's way of Ruby's "alias_method"
Maric Michaud
maric at aristote.info
Thu Jun 8 09:01:59 EDT 2006
Le Jeudi 08 Juin 2006 14:28, Ilias Lazaridis a écrit :
> Another possibility is to enlink (hook?) the functionality into an
> existent function
>
> Is there any way (beside a patch) to alter the behaviour to an existing
> function. Is ther a python construct similar to the "alias_method" of Ruby:
>
No, there is no special construct to do this, but we do things very similar
every day in Zope, it's called "monkey patch" :
#patch_service.py
from toto import service
def my_impl(self, *args) :
old_result = self._old_method(*args)
# ...
return new_result
if not hasattr(service, '_old_method') :
service._old_method = service.method
service.method = my_impl
once this file is imported, all future calls to "method" of service instances
will use my_impl.
--
_____________
Maric Michaud
_____________
Aristote - www.aristote.info
3 place des tapis
69004 Lyon
Tel: +33 426 880 097
More information about the Python-list
mailing list