Needed to use copy.deepcopy() to copy XML objects to make sure that the entire tree is copied.

This commit is contained in:
Lance Stout 2010-06-07 19:55:39 -04:00
parent 3c939313d2
commit 8bb0f5e34c

View file

@ -311,7 +311,7 @@ class ElementBase(tostring.ToString):
return self return self
def __copy__(self): def __copy__(self):
return self.__class__(xml=copy.copy(self.xml), parent=self.parent) return self.__class__(xml=copy.deepcopy(self.xml), parent=self.parent)
#def __del__(self): #prevents garbage collection of reference cycle #def __del__(self): #prevents garbage collection of reference cycle
# if self.parent is not None: # if self.parent is not None:
@ -391,5 +391,5 @@ class StanzaBase(ElementBase):
self.stream.sendRaw(self.__str__()) self.stream.sendRaw(self.__str__())
def __copy__(self): def __copy__(self):
return self.__class__(xml=copy.copy(self.xml), stream=self.stream) return self.__class__(xml=copy.deepcopy(self.xml), stream=self.stream)