- 25 Ock, 2003 17 kayıt (commit)
-
-
Raymond Hettinger yazdı
-
Martin v. Löwis yazdı
-
Raymond Hettinger yazdı
-
Martin v. Löwis yazdı
Re-arrange the imports into "Python normal form." Add test of the getUserData() / setUserData() methods, including the NODE_CLONED callback. Added support for renameNode() and getInterface(). Changed Node.unlink() so an unlinked node is not rendered completely unusable by setting childNodes to None. Element.removeAttributeNode() is slightly less destructive. Added test for the wholeText attribute. Added a test for Text.replaceWholeText(). Fixed to properly create Element in test of user data Rename a local variable so it makes sense when viewed as a sequence. Unlink a few documents when we're done with them. Added tests to define the behavior of the cloneNode() and importNode() mehods, especially in the "difficult" cases of document and document-type nodes. Filled in a few more of the other cloneNode() tests. NodeList.item() does not exist before Python 2.2, since it requires being able to create subtypes of list. Use the subscript syntax instead. Added a test that minidom documents can be pickled and unpickled. Closes SF bug #609641. Fill in an empty test, making sure we get the whitespace right for the data attribute of a processing instruction. Added checks for a few more invariants for processing instructions. testProcessingInstruction(): The length attribute of the NodeList interface is not implemented for Python 2.0, 2.1, so only use len() to test the length. testSchemaType(): New test, testing just the minimum of schemaType support; this is different from the test_xmlbuilder version of the test since it doesn't rely on using a specific builder, and the builders support different levels of DTD support. Add tests for the removeNamedItem() and removeNamedItemNS() methods of the NamedNodeMap instances found on Element nodes. These do not pass; the fix will be committed shortly. Added support for the DOM Level 3 (draft) Element.setIdAttribute*() methods. Do more to avoid creating new Attr nodes, so that attributes do not lose their ID-ness when set using setIdAttribute*().
-
Kurt B. Kaiser yazdı
M RemoteDebugger.py M rpc.py Fix the incorrect shell exception tracebacks generated when running under debugger control: 1. Use rpc.SocketIO.asynccall() instead of remotecall() to handle the IdbProxy.run() command. 2. Add a 'shell' attribute to RemoteDebugger.IdbProxy to allow setting of ModifiedInterpreter's active_seq attribute from RemoteDebugger code. 3. Cleanup PyShell.ModifiedInterpreter.runcode() and remove ambiguity regarding use of begin/endexecuting(). 4. In runcode() and cleanup_traceback() use 'console' instead of 'file' to denote the entity to which the exception traceback is printed. 5. Enhance cleanup_traceback() so if the traceback is pruned entirely away (the error is in IDLE internals) it will be displayed in its entirety instead. 6. ModifiedInterpreter.runcode() now prints ERROR RPC returns to both console and __stderr__. 7. Make a small tweak to the rpc.py debug messages.
-
Neal Norwitz yazdı
Replace existing doc with new version from Vinay. Fixed markup and wrapped long lines from patch. Needs review.
-
Raymond Hettinger yazdı
-
Neal Norwitz yazdı
-
Martin v. Löwis yazdı
-
Martin v. Löwis yazdı
-
Martin v. Löwis yazdı
Wrap a lot of long lines. Clean up a handler for expat.error. If a lexical handler is set, make sure we call the startDTD() and endDTD(). If the lexical handler is unset (by setting it to None), remove the handlers from the underlying pyexpat parser object. Closes SF bug #485584. In namespaces mode, make sure we set up the qnames dictionary correctly for the AttributesNSImpl instance passed to the start-element-handler. Closes SF bug #563399. Support skippedEntity. Fixes #665486.
-
Martin v. Löwis yazdı
-
Martin v. Löwis yazdı
Basic minidom changes to support the new higher-performance builder, as described: http://mail.python.org/pipermail/xml-sig/2002-February/007217.html Use True/False where appropriate. isSupported(): Implemented from DOM Level 2. Support a variety of things from the DOM Level 3 draft, integrate with the xml.dom.xmlbuilder module for the new Document and DOMImplementation methods. Support the NODE_CLONED callback for the UserDataHandler set using setUserData(). Add Entity and Notation nodes to minidom. Add __getitem__() to ReadOnlySequentialNamedNodeMap to match NamedNodeMap. TupleType was used without being defined; rename to _TupleType and define. Add magic so that instances of the NamedNodeMap (and its read-only cousin) take a bit less memory in the new-style world of Python 2.2/2.3. Now, the assignments to __slots__ actually work. ;-) Add support for the Text.wholeText attribute. Document.createCDATASection(): Do not pass unsupported arg to CDATASection constructor. Implemented Text.replaceWholeText(). Updated minidom interfaces to work better with current 4Suite XPath and Xslt. * Added childNodes to class Attr * Added localName and prefix to all Nodes * Added specified on class Attr * Changed DOMImplementation.createDocument to all creating a document with no document element and a Null doctype * Changed CharacterData__setattr__ to keep nodeValue and data in synch * fixed typo of ownerDoc in createDocumentFragment * Changed Comment to inherit from CharacterData * Allowed mutation of name on PIs * Added importNode and rewrote cloneNode so both use same code base * Changed EmptyNodeList to be a list not a tuple Use a table-driven DOMImplementation.hasFeature(). Shorten lines longer than 80 characters. Rename CloneNode to _clone_node (better naming consistency within the module). When defining localName as a property, the defproperty() call is needed for each class that defined _get_localName(), otherwise only the first version is used for Python 2.2 and newer. Node.insertBefore(): When the reference node is not found, raise the exception defined by the DOM specification. Attr._set_value(): Added setter that does the right thing. Childless.removeChild(): Raise the exception defined by the specification, even though it seem less than intuitive. _clone_node(): Access nodeType constants so we actually find them. Add support for document fragments. Node.removeChild(), .replaceChild(): Fix exception raised when a reference node is not found. CharacterData._set_data(): Update the nodeValue attribute as well as the data attribute. Entity.attributes, .childNodes: Added these attributes. Document.removeChild(): Raise the right exception when the node being removed is not a child of this node. Element.removeAttributeNode(): Raise the right exception when the node isn't present on this element. Don't unlink the node unless it is present. Added support for the following methods and accessors: Node._get_childNodes(), Attr._get_specified(), Attr._set_prefix(), NamedNodeMap.has_key(), .getNamedItem(), .getNamedItemNS(), .removeNamedItem(), .removeNamedItemNS(), ProcessingInstruction._get_data(), ._get_target(), ._set_data(), ._set_target(), CharacterData.__len__(), Document.getElementById(). Add many more of the _get_*() accessors. Convert internal helpers to use a more consistent naming convention. Remove unused definition of _nssplit(); there can be only one! Move the Identified mixin up so it can be used by one more class. Remove comment about NamedNodeMap.__getitem__(); the API won't be changing now! Way too late for that. Preliminary support for getElementById() for DOMs built with xml.dom.expatbuilder. Not necessarily very efficient, but it works, and is still fast for Document instances that do not have the ID information. DOMImplementation.createDocument(): Don't forget to add the DocumentType node to the tree. This appearantly was lost in the previous release. DocumentType.writexml(): New function. Implement the final determination on the behaviors of importNode() and cloneNode() with regard to Document and DocumentType nodes. When cloning and importing, call the UserDataHandler with the right operation, not just blindly use NODE_CLONED. parse(), parseString(): When called with parser=None, use xml.dom.expatbuilder instead of xml.dom.pulldom, to get a performance boost (the main point of expatbuilder). Fix for calling parse / parseString with a given parser instance; the else-paths were ignored when refactoring the function signatures; pychecker found that error instantly, BTW (hint, hint) Added pickle support for NamedNodeMap, ReadOnlySequentialNamedNodeMap, and ElementInfo. Closes SF bug #609641. In _clone_node for elements, fixed arguments for getAttributeNodeNS At least make sure the DOM API won't allow you to modify the child node list of an entity node (since entity ndoes are supposed to be readonly). Add support for the DOM Level 3 (draft) DOMImplementationSource interface to the xml.dom and xml.dom.minidom modules. Note API issue: the draft spec says to return null when there is no suitable implementation, while the Python getDOMImplementation() function raises ImportError (minor). Implement the DOM Level 3 Attr.isId property. Refactor the lookup of the ElementInfo objects. Implement the schemaType attribute for Element and Attr nodes. Defined by the (draft) DOM Level 3 specification. getElementById(): Support caching of IDs found. This implementation is sufficient for DOM Level 2 compliance, but additional changes will be needed to support the setIdAttribute() and setIdAttributeNS() methods in DOM Level 3. Add support for Text.isWhitespaceInElementContent (draft Level 3). NamedNodeMap.removeNamedItem(), .removeNamedItemNS(): Pass the new tests: Return the removed node, or raise NotFoundErr if there was no matching node. When changing attributes via a NamedNodeMap, update the ID-cache appropriately. Added support for the DOM Level 3 (draft) Element.setIdAttribute*() methods. setAttributeNode(): Be more careful about not calling removeAttributeNode() twice for a single node. Do more to avoid creating new Attr nodes, so that attributes do not lose their ID-ness when set using setIdAttribute*(). Work harder to avoid calls to Attr.__setattr__() and CharacterData.__setattr__(). Attr.unlink(): Implement everything directly instead of calling to the base class, which does several things that aren't needed for Attr nodes. Change some remaining assignments that caused __setattr__() to be called when it can be avoided. expatbuilder can now perform DOM construction without __setattr__() interferance in common cases. Remove unused _make_parent_nodes logic.
-
Martin v. Löwis yazdı
-
Fred Drake yazdı
-
Fred Drake yazdı
-
Kurt B. Kaiser yazdı
2. Add additional debugging statements and enhance others. 3. Clarify comments. 4. Move SocketIO.nextseq class attribute to beginning of class.
-
- 24 Ock, 2003 13 kayıt (commit)
-
-
Tim Peters yazdı
compare against "the other" argument, we raise TypeError, in order to prevent comparison from falling back to the default (and worse than useless, in this case) comparison by object address. That's fine so far as it goes, but leaves no way for another date/datetime object to make itself comparable to our objects. For example, it leaves Marc-Andre no way to teach mxDateTime dates how to compare against Python dates. Discussion on Python-Dev raised a number of impractical ideas, and the simple one implemented here: when we don't know how to compare against "the other" argument, we raise TypeError *unless* the other object has a timetuple attr. In that case, we return NotImplemented instead, and Python will give the other object a shot at handling the comparison then. Note that comparisons of time and timedelta objects still suffer the original problem, though.
-
Neil Schemenauer yazdı
-
Neil Schemenauer yazdı
Calling PyInt_AsLong() on a float truncates it which is almost never the desired behavior. This closes SF bug #660144.
-
Jeremy Hylton yazdı
add memoize() helper function to update the memo. The first element of the tuple returned by __reduce__() must be a callable. If it isn't the Unpickler will raise an error. Catch this error in the pickler and raise the error there. The memoize() helper also has a comment explaining how the memo works. So methods can't use memoize() because the write funny codes.
-
Barry Warsaw yazdı
docstring). Even if ignore_errors was true, an exception would occur if path didn't exist.
-
Barry Warsaw yazdı
-
Barry Warsaw yazdı
-
Jack Jansen yazdı
MacPython-OS9 has had an abort() function for quite a while now, so there's no reason to stall in an endless loop, just call abort() on a fatal error.
-
Jack Jansen yazdı
MacPython-OS9 specific fix: If there are non-string items on sys.path don't try to intern them. This has the theoretical problem that resource filenames on sys.path cannot be unicode objects, but in practice that shouldn't matter.
-
Tim Peters yazdı
latest bsddb release without strong cryptography).
-
Guido van Rossum yazdı
executable.
-
Jack Jansen yazdı
of getargs() and mkvalue().
-
Tim Peters yazdı
changes (and there were a lot of relevant changes!).
-
- 23 Ock, 2003 7 kayıt (commit)
-
-
Neal Norwitz yazdı
-
Tim Peters yazdı
This gives much the same treatment to datetime.fromtimestamp(stamp, tz) as the last batch of checkins gave to datetime.now(tz): do "the obvious" thing with the tz argument instead of a senseless thing.
-
Tim Peters yazdı
-
Jeremy Hylton yazdı
Removing locking are findCaller() calls as the implementation using sys._getframe() is thread-safe. Changes reviewed by Vinay.
-
Jeremy Hylton yazdı
The test no longer produces output with \r\n in it.
-
Tim Peters yazdı
-
Tim Peters yazdı
checked in two days agao: Refactoring of, and new rules for, dt.astimezone(tz). dt must be aware now, and tz.utcoffset() and tz.dst() must not return None. The old dt.astimezone(None) no longer works to change an aware datetime into a naive datetime; use dt.replace(tzinfo=None) instead. The tzinfo base class now supplies a new fromutc(self, dt) method, and datetime.astimezone(tz) invokes tz.fromutc(). The default implementation of fromutc() reproduces the same results as the old astimezone() implementation, but tzinfo subclasses can override fromutc() if the default implementation isn't strong enough to get the correct results in all cases (for example, this may be necessary if a tzinfo subclass models a time zone whose "standard offset" (wrt UTC) changed in some year(s), or in some variations of double-daylight time -- the creativity of time zone politics can't be captured in a single default implementation).
-
- 22 Ock, 2003 3 kayıt (commit)
-
-
Skip Montanaro yazdı
-
Jack Jansen yazdı
-
Jack Jansen yazdı
-