1.1 --- a/libxml2dom/xmlrpc.py Sun Sep 14 02:30:58 2008 +0200
1.2 +++ b/libxml2dom/xmlrpc.py Sun Sep 14 22:55:59 2008 +0200
1.3 @@ -40,6 +40,7 @@
1.4 createDocument as Node_createDocument
1.5 import datetime
1.6 import xml.dom
1.7 +from libxml2dom.values import ContentValue, SequenceValue
1.8
1.9 # Node classes.
1.10
1.11 @@ -88,38 +89,6 @@
1.12 else:
1.13 raise ValueError, "Value %r cannot be serialised." % value
1.14
1.15 -class ContentEquality:
1.16 -
1.17 - "Equality testing."
1.18 -
1.19 - def __eq__(self, other):
1.20 - if hasattr(other, "contents"):
1.21 - return self.contents == other.contents
1.22 - else:
1.23 - return self.contents == other
1.24 -
1.25 - def __ne__(self, other):
1.26 - return not self.__eq__(other)
1.27 -
1.28 -class SequenceEquality:
1.29 -
1.30 - "Sequence equality testing."
1.31 -
1.32 - def __eq__(self, other):
1.33 - for i, j in map(None, self, other):
1.34 - if i != j:
1.35 - return False
1.36 - return True
1.37 -
1.38 - def __ne__(self, other):
1.39 - return not self.__eq__(other)
1.40 -
1.41 - def __len__(self):
1.42 - return len(self.values())
1.43 -
1.44 - def __getitem__(self, i):
1.45 - return self.values()[i]
1.46 -
1.47 class XMLRPCElement(XMLRPCNode):
1.48
1.49 "An XML-RPC element."
1.50 @@ -227,7 +196,7 @@
1.51 parameterValues = property(_parameterValues, _setParameterValues)
1.52 parameters = property(_parameters)
1.53
1.54 -class XMLRPCParametersElement(SequenceEquality, XMLRPCNode):
1.55 +class XMLRPCParametersElement(SequenceValue, XMLRPCNode):
1.56
1.57 """
1.58 An XML-RPC parameters/params element.
1.59 @@ -264,7 +233,7 @@
1.60
1.61 parameters = property(_parameters)
1.62
1.63 -class XMLRPCParameterElement(ContentEquality, XMLRPCNode):
1.64 +class XMLRPCParameterElement(ContentValue, XMLRPCNode):
1.65
1.66 """
1.67 An XML-RPC parameter/param element.
1.68 @@ -322,7 +291,7 @@
1.69 valueElement = property(_valueElement)
1.70 contents = property(_contents)
1.71
1.72 -class XMLRPCArrayElement(SequenceEquality, XMLRPCNode):
1.73 +class XMLRPCArrayElement(SequenceValue, XMLRPCNode):
1.74
1.75 """
1.76 An XML-RPC array element.
1.77 @@ -361,7 +330,7 @@
1.78 dataElement = property(_dataElement)
1.79 contents = property(_contents)
1.80
1.81 -class XMLRPCStructElement(SequenceEquality, XMLRPCNode):
1.82 +class XMLRPCStructElement(SequenceValue, XMLRPCNode):
1.83
1.84 """
1.85 An XML-RPC structure element.
1.86 @@ -415,7 +384,7 @@
1.87 members = property(_members)
1.88 contents = property(_contents)
1.89
1.90 -class XMLRPCDataElement(SequenceEquality, XMLRPCNode):
1.91 +class XMLRPCDataElement(SequenceValue, XMLRPCNode):
1.92
1.93 """
1.94 An XML-RPC array data element.
1.95 @@ -522,7 +491,7 @@
1.96 valueElement = property(_valueElement)
1.97 contents = property(_contents)
1.98
1.99 -class XMLRPCStringElement(ContentEquality, XMLRPCNode):
1.100 +class XMLRPCStringElement(ContentValue, XMLRPCNode):
1.101
1.102 "An XML-RPC string element."
1.103