Commit Graph

432 Commits

Author SHA1 Message Date
Serhiy Storchaka c472246d81 Issue #10131: Fixed deep copying of minidom documents. Based on patch
by Marian Ganisin.
2015-11-26 23:49:42 +02:00
Serhiy Storchaka 6f988b5990 Issue #25688: Fixed file leak in ElementTree.iterparse() raising an error. 2015-11-23 15:45:12 +02:00
Serhiy Storchaka e3d4ec4766 Issue #25688: Fixed file leak in ElementTree.iterparse() raising an error. 2015-11-23 15:44:03 +02:00
Martin Panter 982a08f8bb Issue #25047: Merge Element Tree encoding from 3.4 into 3.5 2015-09-23 01:43:08 +00:00
Martin Panter 89f76d3f91 Issue #25047: Respect case writing XML encoding declarations
This restores the ability to write encoding names in uppercase like "UTF-8",
which worked in Python 2.
2015-09-23 01:14:35 +00:00
Yury Selivanov 7544508f02 PEP 0492 -- Coroutines with async and await syntax. Issue #24017. 2015-05-11 22:57:16 -04:00
Serhiy Storchaka 9749b5a6a3 Issue #24125: Saved error's line and column numbers when an error is occured
during closing expatreader.  Fixed a regression introduced in issue #23865.
2015-05-06 09:38:22 +03:00
Serhiy Storchaka ab914780ba Issue #24125: Saved error's line and column numbers when an error is occured
during closing expatreader.  Fixed a regression introduced in issue #23865.
2015-05-06 09:36:06 +03:00
Serhiy Storchaka 7e7a3dba5f Issue #23865: close() methods in multiple modules now are idempotent and more
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
2015-04-10 13:24:41 +03:00
Serhiy Storchaka 2116b12da5 Issue #23865: close() methods in multiple modules now are idempotent and more
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
2015-04-10 13:29:28 +03:00
Serhiy Storchaka 778db289b5 Issue #10590: xml.sax.parseString() now supports string argument. 2015-04-04 10:12:26 +03:00
Serhiy Storchaka 61de087f0f Issue #2175: SAX parsers now support a character stream of InputSource object. 2015-04-02 21:00:13 +03:00
Serhiy Storchaka 08448a1f4d Issue #23326: Removed __ne__ implementations. Since fixing default __ne__
implementation in issue #21408 they are redundant.
2015-01-31 12:05:05 +02:00
Serhiy Storchaka 83000a490a Removed duplicated words in in comments and docs. 2014-12-01 18:30:14 +02:00
Serhiy Storchaka 56a6d855e2 Removed duplicated words in in comments and docs. 2014-12-01 18:28:43 +02:00
Raymond Hettinger 0badfd5989 Minor code cleanup. 2014-11-28 14:52:14 -08:00
Serhiy Storchaka 5916d53032 Issue #22915: SAX parser now supports files opened with file descriptor or
bytes path.
2014-11-27 22:14:30 +02:00
Serhiy Storchaka fc8e9b0e72 Issue #22915: SAX parser now supports files opened with file descriptor or
bytes path.
2014-11-27 22:13:16 +02:00
Raymond Hettinger 828d932a2c PEP 479: Don't let StopIteration bubble out of calls to next() inside a generator. 2014-11-22 21:56:23 -08:00
Serhiy Storchaka 465e60e654 Issue #22033: Reprs of most Python implemened classes now contain actual
class name instead of hardcoded one.
2014-07-25 23:36:00 +03:00
Raymond Hettinger 92a4055343 Issue #21774: Fix incorrect variable in xml.dom.minidom 2014-06-15 14:48:19 -07:00
R David Murray 9077d24d7f #12220: improve minidom error when URI contains spaces.
Fix by 'amathew', test by Marek Stepniowski.
2014-04-20 00:46:05 -04:00
Serhiy Storchaka c0b0bb6e01 Issue #20331: Fixed possible FD leaks in various modules:
http.server, imghdr, mailcap, mimetypes, xml.etree.
2014-01-25 19:43:56 +02:00
Serhiy Storchaka 91b0bc237c Issue #20331: Fixed possible FD leaks in various modules:
http.server, imghdr, mailcap, mimetypes, xml.etree.
2014-01-25 19:43:02 +02:00
R David Murray 410d320703 whatsnew: XMLPullParser, plus some doc updates.
I was confused by the text saying that read_events "iterated", since it
actually returns an iterator (that's what a generator does) that the
caller must then iterate.  So I tidied up the language.  I'm not sure
what the sentence "Events provided in a previous call to read_events()
will not be yielded again." is trying to convey, so I didn't try to fix that.

Also fixed a couple more news items.
2014-01-04 23:52:50 -05:00
Andrew Kuchling 98a0d063a1 Closes #12828: add docstring text noting this is an internal-only module 2013-11-12 10:25:15 -05:00
Andrew Kuchling c6a140f330 Merge from 3.3 2013-11-12 10:26:15 -05:00
Benjamin Peterson 84c1205043 merge 3.3 (#19127) 2013-09-29 11:15:49 -04:00
Benjamin Peterson 72a98541f0 remove duplicate method (closes #19127) 2013-09-29 11:15:31 -04:00
Nick Coghlan 4cc2afa0ec Close #18990: remove root attribute from XMLPullParser
- this was an internal implementation detail for iterparse
- this has been changed to use a new private method instead
- XMLPullParser.close docs are now more explicit about not
  returning a root element and instead direct users towards
  read_events
- also added missing docstrings and clarified some details
  related to exactly *when* events are consumed from the
  internal queue

(Initial patch by Stefan Behnel)
2013-09-28 23:50:35 +10:00
Eli Bendersky b586934f0e Issue #17741: Rename IncrementalParser and its methods.
The new names are hopefully more descriptive and consistent. If you feel you
don't agree with this change, *please* read issue 17741 first - there's a lot of
discussion in there.
2013-08-30 05:51:20 -07:00
Eli Bendersky 6206a7e4b0 Remove the obsolete XMLParser._start/_start_list duality.
XMLParser configures expat to report attributes in a list (ordered_attributes),
so only _start_list is needed. Rename it to _start and kill _start.
2013-08-25 18:58:18 -07:00
Antoine Pitrou 0acbcb5bbe Issue #17741: use composition, rather than inheritance, for xml.etree.iterparse's result class.
Patch by Stefan Behnel.
2013-08-23 23:04:30 +02:00
Ezio Melotti e0c69161bc #18741: merge with 3.3. 2013-08-17 16:13:22 +03:00
Ezio Melotti b5bc353b88 #18741: fix more typos. Patch by Févry Thibault. 2013-08-17 16:11:40 +03:00
Eli Bendersky b9b6ce6f2c Merge fix for Issue #17011 from 3.3 2013-08-03 17:48:41 -07:00
Eli Bendersky 2acc525a97 Issue #17011: Fix caching of xpath path when namespaces are present.
Thanks to Stefan Behnel for the report and proposed solution & test.
2013-08-03 17:47:47 -07:00
Christian Heimes 6597aa16b6 Issue #18347: ElementTree's html serializer now preserves the case of closing tags. 2013-07-05 01:40:52 +02:00
Christian Heimes 54ad7e39df Issue #18347: ElementTree's html serializer now preserves the case of closing tags. 2013-07-05 01:39:49 +02:00
Brett Cannon cd171c8e92 Issue #18200: Back out usage of ModuleNotFoundError (8d28d44f3a9a) 2013-07-04 17:43:24 -04:00
Brett Cannon 0a140668fa Issue #18200: Update the stdlib (except tests) to use
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Eli Bendersky a369923cab Get rid of ugly code duplication for ElementTree.parse when the accelerator
is imported. Instead, ElementTree.parse can look for a special internal method
defined by the accelerator.
2013-05-19 18:47:23 -07:00
Eli Bendersky 8687245e27 normalize whitespace 2013-05-19 09:27:13 -07:00
Eli Bendersky e6a951b83e Cleanup even more dead code 2013-05-19 09:25:52 -07:00
Eli Bendersky c4e98a6a9b Cleanup more old ET library leftovers 2013-05-19 09:24:43 -07:00
Eli Bendersky 46955b2d30 Issue #17988: remove unused alias for Element and rename the used one
Renaming to _Element_Py for clarity and moving it to a more logical location.
_ElementInterface OTOH is unused and is therefore removed.

Close #17988
2013-05-19 09:20:50 -07:00
Eli Bendersky 3a4fbd8241 _elementtree.XMLParser._setevents should support any sequence, not just tuples
Also clean up some code around this
2013-05-19 09:01:49 -07:00
Serhiy Storchaka 3068aed92b Issue #17606: Fixed support of encoded byte strings in the XMLGenerator
characters() and ignorableWhitespace() methods.  Original patch by Sebastian
Ortiz Vasquez.
2013-05-12 17:31:59 +03:00
Serhiy Storchaka 3eab6b363a Issue #17606: Fixed support of encoded byte strings in the XMLGenerator
characters() and ignorableWhitespace() methods.  Original patch by Sebastian
Ortiz Vasquez.
2013-05-12 17:31:16 +03:00
Georg Brandl 2665f21866 merge with 3.3 2013-05-12 12:08:05 +02:00
Georg Brandl 64949fa20e merge with 3.2 2013-05-12 11:52:22 +02:00
Georg Brandl c502df4e3e Issue #17915: Fix interoperability of xml.sax with file objects returned by
codecs.open().
2013-05-12 11:41:12 +02:00
Eli Bendersky c9f5ca232a Remove superfluous try/except 2013-04-20 09:11:37 -07:00
Eli Bendersky bf05df2396 Make license notices more consistent and remove old changelog.
Also remove unused macro.
2013-04-20 05:44:01 -07:00
Antoine Pitrou 5b235d0923 Issue #17741: Add ElementTree.IncrementalParser, an event-driven parser for non-blocking applications. 2013-04-18 19:37:06 +02:00
Victor Stinner 765531d2d0 Issue #17516: use comment syntax for comments, instead of multiline string 2013-03-26 01:11:54 +01:00
Eli Bendersky 72cdb5c39e Issue #11367: fix documentation of some find* methods in ElementTree 2013-03-12 06:04:33 -07:00
Eli Bendersky 7343cb0790 Issue #11367: fix documentation of some find* methods in ElementTree 2013-03-12 06:01:22 -07:00
Eli Bendersky 84fae785ce Issue #16954: Add docstrings for ElementTree
Based on patch by David Lam
2013-03-09 07:12:48 -08:00
Giampaolo Rodola' 2f50aaf2ff modernize some modules' code by using with statement around open() 2013-02-12 02:04:27 +01:00
Serhiy Storchaka 02c2076bd5 Issue #1470548: XMLGenerator now works with binary output streams. 2013-02-10 14:34:53 +02:00
Serhiy Storchaka 9fef188c9e Issue #1470548: XMLGenerator now works with binary output streams. 2013-02-10 14:31:07 +02:00
Serhiy Storchaka 88efc52d74 Issue #1470548: XMLGenerator now works with binary output streams. 2013-02-10 14:29:52 +02:00
Eli Bendersky c4d5e08e3f Issue #9708: Fix support for iterparse(parser=...) argument per documentation.
When _elementtree is imported, iterparse is redefined as a class and the parser
argument was ommitted. Fix this, and add a docstring to the class.
2013-01-24 07:15:46 -08:00
Eli Bendersky aaa9780fe1 Issue #9708: Fix support for iterparse(parser=...) argument per documentation.
When _elementtree is imported, iterparse is redefined as a class and the parser
argument was ommitted. Fix this, and add a docstring to the class.
2013-01-24 07:15:19 -08:00
Eli Bendersky 5c6198b3fd Issue #12323: Strengthen error checking of the position XPath selectors 2013-01-24 06:29:26 -08:00
Ezio Melotti 605a95ae44 #11379: merge with 3.3. 2013-01-22 22:50:06 +02:00
Ezio Melotti 564e4d8dc9 #11379: merge with 3.2. 2013-01-22 22:49:46 +02:00
Ezio Melotti da4b5b82a3 #11379: rephrase minidom documentation to use the term "minimal" instead of "lightweight". Patch by Éric Araujo. 2013-01-22 22:47:57 +02:00
Serhiy Storchaka 9e189f0a28 Cleanup the docs ElementTree a bit. 2013-01-13 22:24:27 +02:00
Serhiy Storchaka f1b045f417 Describe the default_namespace parameter of ElemetTree.write. 2013-01-13 22:04:43 +02:00
Serhiy Storchaka 03530b980e Describe the default_namespace parameter of ElemetTree.write. 2013-01-13 21:58:04 +02:00
Eli Bendersky e9af827fb1 Cleanup the docs ElementTree a bit and describe the default_namespace parameter. In the code, replace the old outdated Doxygen-ish comment above ElementTree.write by a proper docstring. 2013-01-13 06:27:51 -08:00
Eli Bendersky a9a2ef5550 Close #14377: Add a new parameter to ElementTree.write and some module-level
serialization functions - short_empty_elements. It controls how elements
without contents are emitted.

Patch by Serhiy Storchaka. Feature initially proposed by Ariel Poliak.
2013-01-13 06:04:43 -08:00
Andrew Svetlov f7a17b48d7 Replace IOError with OSError (#16715) 2012-12-25 16:47:37 +02:00
Andrew Svetlov a191959849 Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:27:16 +02:00
Andrew Svetlov 5b89840d9c Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:26:36 +02:00
Andrew Svetlov 737fb89dd1 Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:14:22 +02:00
Antoine Pitrou 997adb5819 Issue #16089: Allow ElementTree.TreeBuilder to work again with a non-Element element_factory (fixes a regression in SimpleTAL). 2012-10-04 19:54:53 +02:00
Antoine Pitrou ee329318db Issue #16089: Allow ElementTree.TreeBuilder to work again with a non-Element element_factory (fixes a regression in SimpleTAL). 2012-10-04 19:53:29 +02:00
Philip Jenvey fd0d3e5d25 more yield from
patch by Serhiy Storchaka
2012-10-01 15:34:31 -07:00
Ezio Melotti ab9b661fdd #15970: merge with 3.2. 2012-09-19 08:25:01 +03:00
Ezio Melotti c90111f9ab #15970: xml.etree.ElementTree now serializes correctly the empty HTML elements "meta" and "param". 2012-09-19 08:19:12 +03:00
Eli Bendersky f90fc68db4 fix whitespace woes 2012-07-17 15:09:56 +03:00
Eli Bendersky 43cc5f29a8 Optimize tostringlist by taking the stream class outside the function. It's now 2x faster on short calls. Related to #1767933 2012-07-17 15:09:12 +03:00
Eli Bendersky 426e248feb Preserve the invariant tostring(elem) == b''.join(tostringlist(elem)) and add a test to make sure it keeps working 2012-07-17 05:45:11 +03:00
Eli Bendersky 00f402bfcb Close #1767933: Badly formed XML using etree and utf-16. Patch by Serhiy Storchaka, with some minor fixes by me 2012-07-15 06:02:22 +03:00
Eli Bendersky 8a80502d2c Issue #15296: Fix minidom.toxml/toprettyxml for non-unicode encodings. Patch by Serhiy Storchaka, with some minor style adjustments by me. 2012-07-13 09:52:39 +03:00
Florent Xicluna a1c974a66d Minor refactoring in xml.etree.ElementTree doctype parser. 2012-07-07 13:16:44 +02:00
Eli Bendersky 27cbb19ae5 Removed _SimpleElementPath and its flaky test. The test monkey-patches the module, which causes other failures and fails itself depending on the order tests are run. 2012-06-15 09:03:19 +03:00
Eli Bendersky 64d11e60f2 Replace the iter/itertext methods of Element in _elementtree with true C implementations, instead of the bootstrapped Python code. In addition to being cleaner (removing the last remains of the bootstrapping code in _elementtree), this gives a 10x performance boost for iter() on large documents.
Also reorganized the tests a bit to be more robust.
2012-06-15 07:42:50 +03:00
Eli Bendersky 737b173355 Issue 14814: Add namespaces keyword arg to find(*) methods in _elementtree.
Add attrib keyword to Element and SubElement in _elementtree.
Patch developed with Ezio Melotti.
2012-05-29 06:02:56 +03:00
Eli Bendersky 396e8fcf36 Issue #13782: streamline argument type-checking in ET.Element
append, extend and insert now consistently type-check their argument in both
the C and Python implementations, and raise TypeError for non-Element
argument.

Added tests
2012-03-23 14:24:20 +02:00
Florent Xicluna 8cf4b51fa4 xml.dom.minidom: add more __slots__ to limit resource usage. 2012-03-05 12:37:02 +01:00
Florent Xicluna 6c75301eb6 xml.dom: fix typo, drop unused imports. 2012-03-05 12:35:15 +01:00
Florent Xicluna fb06746852 Flatten nested try ... finally, try ... except. 2012-03-05 11:42:49 +01:00
Florent Xicluna 75b5e7ee15 Issue #14007: accept incomplete TreeBuilder objects (missing start/end/data/close) for the Python implementation as well. Add disabled tests for the doctype() method. 2012-03-05 10:42:19 +01:00
Martin v. Löwis 67245a6ed4 Issue #14168: Check for presence of _attrs before accessing it. 2012-03-05 07:01:49 +01:00
Eli Bendersky 092af1fc5c Issue #14128: Exposing Element as an actual type from _elementtree, rather than a factory function.
This makes the C implementation more aligned with the Python implementation.
Also added some tests to ensure that Element is now a type and that it can
be subclassed.
2012-03-04 07:14:03 +02:00
Martin v. Löwis 7b77188e89 Create _attr/_attrNS lazily. 2012-02-19 20:55:05 +01:00