summaryrefslogtreecommitdiffstats
path: root/Lib/dumbdbm.py
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2000-11-21 22:02:22 (GMT)
committerFred Drake <fdrake@acm.org>2000-11-21 22:02:22 (GMT)
commit4ccf4a1e8a3141e34fba73f08d678b47b3ddb81d (patch)
treef65989d93cbbc0f80d6be3cc4548c31d0019f116 /Lib/dumbdbm.py
parent707e964734e4fc245ba4d3c6453adeb67a55867a (diff)
downloadcpython-4ccf4a1e8a3141e34fba73f08d678b47b3ddb81d.zip
cpython-4ccf4a1e8a3141e34fba73f08d678b47b3ddb81d.tar.gz
cpython-4ccf4a1e8a3141e34fba73f08d678b47b3ddb81d.tar.bz2
Reduce the visibility of imported modules for cleaner "from ... import *"
behavior. Added support for the Attr.ownerElement attribute. Everywhere: Define constant object attributes in the classes rather than on the instances during object construction. This reduces the amount of work needed for object construction and destruction; these need to be lightweight operations on a DOM. Node._get_firstChild(), Node._get_lastChild(): Return None if there are no children (required for compliance with DOM level 1). Node.insertBefore(): If refChild is None, append the new node instead of failing (required for compliance). Also, update the sibling relationships. Return the inserted node (required for compliance). Node.appendChild(): Update the parent of the appended node. Node.replaceChild(): Actually replace the old child! Update the parent and sibling relationships of both the old and new children. Return the replaced child (required for compliance). Node.normalize(): Implemented the normalize() method. Required for compliance, but missing from the release. Useful for joining adjacent Text nodes into a single node for easier processing. Node.cloneNode(): Actually make this work. Don't let the new node share the instance __dict__ with the original. Do proper recursion if doing a "deep" clone. Move the attribute cloning out of the base class, since only Element is supposed to have attributes. Node.unlink(): Simplify handling of child nodes for efficiency, and remove the attribute handling since only Element nodes support attributes. Attr.cloneNode(): Extend this to clear the ownerElement attribute in the clone. AttributeList.items(), AttributeList.itemsNS(): Slight performance improvement (avoid lambda). Element.cloneNode(): Extend Node.cloneNode() with support for the attributes. Clone the Attr objects after creating the underlying clone. Element.unlink(): Clean out the attributes here instead of in the base class, since this is the only class that will have them. Element.toxml(): Adjust to create only one AttributeList instance; minor efficiency improvement. _nssplit(): No need to re-import string. Document.__init__(): No longer needed once constant attributes are initialized in the class itself. Document.createElementNS(), Document.createAttributeNS(): Use the defined constructors rather than directly access the classes. _get_StringIO(): New function. Create an output StringIO using the most efficient available flavor. parse(), parseString(): Import pulldom here instead of in the public namespace of the module.
Diffstat (limited to 'Lib/dumbdbm.py')
0 files changed, 0 insertions, 0 deletions