Bon je viens de regarder de près et si je ne dit pas de bétises le problème n'est pas que ça soit une vielle classe mais que lxml est un binding pour la libxml les types sont donc codés en C et il n'est pas possible de les monkey patcher. La seule solution que je voit c'est la composition comme ceci: class MyNode(object):
def __init__(self, node):
self._node = node
def __getattr__(self, name):
return getattr(self._node, name)
def __setattr__(self, name, value):
if hasattr(self._node, name):
setattr(self._node, name, value)
else:
setattr(self, name, value)
# tes methodes persos
[^] # Re: Monkey patching ?
Posté par Jean B . En réponse au message Instancier un classe dérivée à partir d'une instance de la classe de base déjà instanciée.. Évalué à 3.
class MyNode(object):def __init__(self, node):
self._node = node
def __getattr__(self, name):
return getattr(self._node, name)
def __setattr__(self, name, value):
if hasattr(self._node, name):
setattr(self._node, name, value)
else:
setattr(self, name, value)
# tes methodes persos
PS: désolé pour le formatage