# HG changeset patch # User paulb # Date 1067291184 0 # Node ID 1b7cb513e2e004932d94f5ae00f71d051ab9b979 # Parent a25fbe972a2dbef297d5639b9a795b074b9fb546 [project @ 2003-10-27 21:46:24 by paulb] Added a special native node access method. Removed seemingly unnecessary attribute access methods which return apparently incorrect results. diff -r a25fbe972a2d -r 1b7cb513e2e0 __init__.py --- a/__init__.py Mon Oct 20 21:14:20 2003 +0000 +++ b/__init__.py Mon Oct 27 21:46:24 2003 +0000 @@ -42,7 +42,7 @@ def values(self): attributes = [] - _attribute = self.node._node.properties + _attribute = self.node.as_native_node().properties while _attribute is not None: attributes.append(Node(_attribute, ownerElement=self.node)) _attribute = _attribute.next @@ -98,6 +98,9 @@ self.ownerElement = ownerElement self.doctype = doctype + def as_native_node(self): + return self._node + def _ownerDocument(self): return Node(self._node.doc) @@ -167,21 +170,15 @@ return Node(self._node.parent) def hasAttributeNS(self, ns, localName): - return self._getAttributeNS(ns, localName) is not None + return self.getAttributeNS(ns, localName) is not None def hasAttribute(self, name): - return self._getAttribute(name) is not None + return self.getAttribute(name) is not None def getAttributeNS(self, ns, localName): - return self._getAttributeNS(ns, localName) or "" - - def _getAttributeNS(self, ns, localName): return self._node.nsProp(localName, ns) def getAttribute(self, name): - return self._getAttribute(name) or "" - - def _getAttribute(self, name): return self._node.prop(name) def getAttributeNodeNS(self, ns, localName): @@ -345,7 +342,7 @@ return Node(libxml2.parseURI(uri)) def toString(node): - return node._node.serialize() + return node.as_native_node().serialize() def toStream(node, stream=None): stream = stream or sys.stdout