Stefan Behnel
e8113f51a8
bpo-30485: Change the prefix for defining the default namespace in ElementPath from None to '' since there is existing code that uses that and it's more convenient to have an all-string-keys dict (e.g. when sorting items etc.). ( #12860 )
2019-04-18 19:05:03 +02:00
Stefan Behnel
3c5a858ec6
bpo-30485: Re-allow empty strings in ElementPath namespace mappings since they might actually be harmless and unused (and thus went undetected previously). ( #12830 )
2019-04-14 21:12:34 +02:00
Stefan Behnel
e9927e1820
bpo-30485: support a default prefix mapping in ElementPath by passing None as prefix ( #1823 )
2019-04-14 10:09:09 +02:00
Bernt Røskar Brenna
ffca16e25a
bpo-36227: ElementTree.tostring() default_namespace and xml_declaration arguments (GH-12225)
...
Add new keyword arguments "default_namespace" and "xml_declaration" to functions ET.tostring() and ET.tostringlist(), as known from ElementTree.write().
2019-04-14 10:07:02 +02:00
Serhiy Storchaka
3b05ad7be0
bpo-34160: Preserve user specified order of Element attributes in html. (GH-10190)
2018-10-29 19:31:04 +02:00
Raymond Hettinger
e3685fd5fd
bpo-34160: Preserve user specified order of Element attributes (GH-10163)
2018-10-28 11:18:22 -07:00
Serhiy Storchaka
f081fd8303
bpo-35013: Add more type checks for children of Element. (GH-9944)
...
It is now guarantied that children of xml.etree.ElementTree.Element
are Elements (at least in C implementation). Previously methods
__setitem__(), __setstate__() and __deepcopy__() could be used for
adding non-Element children.
2018-10-19 12:12:57 +03:00
Serhiy Storchaka
b11c5667f9
bpo-34941: Fix searching Element subclasses. (GH-9766)
...
Methods find(), findtext() and findall() of xml.etree.ElementTree.Element
were not able to find chldren which are instances of Element subclasses.
2018-10-14 10:32:19 +03:00
Christian Heimes
17b1d5d4e3
bpo-17239: Disable external entities in SAX parser (GH-9217)
...
The SAX parser no longer processes general external entities by default
to increase security. Before, the parser created network connections
to fetch remote files or loaded local files from the file system for DTD
and entities.
Signed-off-by: Christian Heimes <christian@python.org>
https://bugs.python.org/issue17239
2018-09-23 00:50:25 -07:00
Serhiy Storchaka
02ec92fa7b
bpo-29209: Remove old-deprecated features in ElementTree. (GH-6769)
...
Also make getchildren() and getiterator() emitting
a DeprecationWarning instead of PendingDeprecationWarning.
2018-07-24 12:03:34 +03:00
Serhiy Storchaka
13f51d9eec
bpo-33761: Fix a file leak in test_iterparse in test_xml_etree. (GH-7358)
2018-06-03 20:56:52 +03:00
Mike
53f7a7c281
bpo-32297: Few misspellings found in Python source code comments. ( #4803 )
...
* Fix multiple typos in code comments
* Add spacing in comments (test_logging.py, test_math.py)
* Fix spaces at the beginning of comments in test_logging.py
2017-12-14 13:04:53 +02:00
scoder
101a5e84ac
bpo-31648: Improve ElementPath ( #3835 )
...
* Allow whitespace inside of ElementPath predicates.
* Add ElementPath predicate support for text comparison of the current node, like "[.='text']".
2017-09-30 16:35:21 +03:00
Victor Stinner
e6d9fcbb8d
bpo-31170: Write unit test for Expat 2.2.4 UTF-8 bug ( #3570 )
...
Non-regression tests for the Expat 2.2.3 UTF-8 decoder bug.
2017-09-25 01:27:34 -07:00
scoder
c8d8e15bfc
bpo-31455: Fix an assertion failure in ElementTree.XMLParser(). ( #3545 )
...
* Avoid calling "PyObject_GetAttrString()" (and potentially executing user code) with a live exception set.
* Ignore only AttributeError on attribute lookups in ElementTree.XMLParser() and propagate all other exceptions.
2017-09-14 23:00:03 +03:00
Kushal Das
1de4705d00
bpo-30442: Skips refcount test in test_xml_etree under coverage ( #1767 )
2017-05-24 11:46:43 -07:00
Serhiy Storchaka
762ec97ea6
bpo-29204: Emit warnings for already deprecated ElementTree features. ( #773 )
...
Element.getiterator() and the html parameter of XMLParser() were
deprecated only in the documentation (since Python 3.2 and 3.4 correspondintly).
Now using them emits a deprecation warning.
* Don’t need check_warnings any more.
2017-03-30 18:12:06 +03:00
Serhiy Storchaka
576def096e
bpo-27863: Fixed multiple crashes in ElementTree. ( #765 )
2017-03-30 09:47:31 +03:00
Serhiy Storchaka
c3adf1e09b
Issue #28314 : Added tests for xml.etree.ElementTree.Element.getiterator().
2016-10-25 10:37:55 +03:00
Serhiy Storchaka
036fb15435
Issue #28314 : Added tests for xml.etree.ElementTree.Element.getiterator().
2016-10-25 10:37:01 +03:00
Raymond Hettinger
11fa3ffcb1
merge
2016-09-11 23:23:24 -07:00
Raymond Hettinger
076366c2a5
Issue #17582 : xml.etree.ElementTree nows preserves whitespaces in attributes
...
(Patch by Duane Griffin. Reviewed and approved by Stefan Behnel.)
2016-09-11 23:18:03 -07:00
Serhiy Storchaka
f0ee5ccd19
Issue #25455 : Fixed a crash in repr of ElementTree.Element with recursive tag.
2016-06-12 09:47:20 +03:00
Serhiy Storchaka
9062c261a4
Issue #25455 : Fixed a crash in repr of ElementTree.Element with recursive tag.
2016-06-12 09:43:55 +03:00
Martin Panter
dcfebb32e2
Issue #26676 : Add missing XMLPullParser to ElementTree.__all__
2016-04-01 06:55:55 +00:00
Serhiy Storchaka
2feb642585
Issue #26325 : Added test.support.check_no_resource_warning() to check that
...
no ResourceWarning is emitted.
2016-02-11 13:12:19 +02:00
Serhiy Storchaka
94a619d48b
Issue #26325 : Added test.support.check_no_resource_warning() to check that
...
no ResourceWarning is emitted.
2016-02-11 13:11:44 +02:00
Serhiy Storchaka
47a9d59d51
Issue #25902 : Fixed various refcount issues in ElementTree iteration.
2015-12-21 11:11:12 +02:00
Serhiy Storchaka
66c08d90f6
Issue #25902 : Fixed various refcount issues in ElementTree iteration.
2015-12-21 11:09:48 +02:00
Serhiy Storchaka
dde0815c35
Issue #7990 : dir() on ElementTree.Element now lists properties: "tag",
...
"text", "tail" and "attrib". Original patch by Santoso Wijaya.
2015-11-25 15:28:13 +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
Serhiy Storchaka
3987fefd6f
Issue #25691 : Fixed crash on deleting ElementTree.Element attributes.
2015-11-23 08:47:26 +02:00
Serhiy Storchaka
b6aa5375d5
Issue #25691 : Fixed crash on deleting ElementTree.Element attributes.
2015-11-23 08:42:25 +02:00
Serhiy Storchaka
36e4f760f6
Issue #19687 : Fixed memory leak on failed Element slice assignment.
...
Added new tests for Element slice assignments.
2015-11-22 12:30:28 +02:00
Serhiy Storchaka
04d759b1e4
Issue #19687 : Fixed memory leak on failed Element slice assignment.
...
Added new tests for Element slice assignments.
2015-11-22 12:18:38 +02:00
Serhiy Storchaka
609a2e17ad
Issue #22995 : Default implementation of __reduce__ and __reduce_ex__ now
...
rejects builtin types with not defined __new__.
Added tests for non-pickleable types.
2015-11-12 11:31:51 +02:00
Serhiy Storchaka
d7a4415599
Issue #22995 : Default implementation of __reduce__ and __reduce_ex__ now
...
rejects builtin types with not defined __new__.
Added tests for non-pickleable types.
2015-11-12 11:23:04 +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
Serhiy Storchaka
4a01cab898
Issue #19176 : Fixed doctype() related bugs in C implementation of ElementTree.
...
A deprecation warning no longer issued by XMLParser subclass with default
doctype() method. Direct call of doctype() now issues a warning. Parser's
doctype() now is not called if target's doctype() is called. Based on patch
by Martin Panter.
2015-06-29 23:08:52 +03:00
Serhiy Storchaka
05744ac6e0
Issue #19176 : Fixed doctype() related bugs in C implementation of ElementTree.
...
A deprecation warning no longer issued by XMLParser subclass with default
doctype() method. Direct call of doctype() now issues a warning. Parser's
doctype() now is not called if target's doctype() is called. Based on patch
by Martin Panter.
2015-06-29 22:35:58 +03:00
Serhiy Storchaka
a2c145c2f3
Issue #24091 : Fixed various crashes in corner cases in C implementation of
...
ElementTree.
2015-05-18 18:33:31 +03:00
Serhiy Storchaka
5bf3120e24
Issue #24091 : Fixed various crashes in corner cases in C implementation of
...
ElementTree.
2015-05-18 18:29:33 +03:00
Serhiy Storchaka
f0eeedf0d8
Issue #22681 : Added support for the koi8_t encoding.
2015-05-12 23:24:19 +03:00
Serhiy Storchaka
ad8a1c3fb2
Issue #22682 : Added support for the kz1048 encoding.
2015-05-12 23:16:55 +03:00
Serhiy Storchaka
bad1257c96
Issue #22777 : Test pickling with all protocols.
2014-12-15 14:03:42 +02:00
Eli Bendersky
8148164353
Issue #19815 : Fix segfault when parsing empty namespace declaration.
...
Based on patches by Christian Heimes and Vajrasky Kok
2013-11-28 06:35:40 -08:00
Eli Bendersky
5dd40e555b
Issue #19815 : Fix segfault when parsing empty namespace declaration.
...
Based on patches by Christian Heimes and Vajrasky Kok
2013-11-28 06:31:58 -08:00
Serhiy Storchaka
be0c3250b1
Issue #19668 : Added support for the cp1125 encoding.
2013-11-23 18:52:23 +02: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
12f18289c0
Merge for Issue #18997 : Issue #18997 : fix ElementTree crash with using pickle and __getstate__.
2013-09-13 06:27:52 -07:00
Eli Bendersky
dd3661e782
Issue #18997 : fix ElementTree crash with using pickle and __getstate__.
...
Based on report and initial patch from Germán M. Bravo
2013-09-13 06:24:25 -07: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
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
Eli Bendersky
4ace240fe5
Clean-up duplicated code in tests
2013-05-25 07:12:14 -07:00
Eli Bendersky
6dc32b34dd
Issue #13612 : handle unknown encodings without a buffer overflow.
...
This affects pyexpat and _elementtree. PyExpat_CAPI now exposes a new
function - DefaultUnknownEncodingHandler.
Based on a patch by Serhiy Storchaka.
2013-05-25 05:25:48 -07:00
Serhiy Storchaka
66d53fa9ad
Issue #16986 : ElementTree now correctly parses a string input not only when
...
an internal XML encoding is UTF-8 or US-ASCII.
2013-05-22 17:07:51 +03:00
Eli Bendersky
08231a9c6a
Issue #17901 : fix TreeBuilder construction for an explicit element_factory=None
...
Based on report and patch by Aaron Oakley.
2013-05-18 15:47:16 -07:00
Eli Bendersky
8be90396f2
Clean-up duplicated code in tests
2013-05-25 07:12:38 -07:00
Eli Bendersky
7b3022f24f
Issue #13612 : handle unknown encodings without a buffer overflow.
...
This affects pyexpat and _elementtree. PyExpat_CAPI now exposes a new
function - DefaultUnknownEncodingHandler.
Based on a patch by Serhiy Storchaka.
2013-05-25 05:27:10 -07:00
Serhiy Storchaka
447b6e3c6e
Issue #16986 : ElementTree now correctly parses a string input not only when
...
an internal XML encoding is UTF-8 or US-ASCII.
2013-05-22 17:21:06 +03:00
Eli Bendersky
e26fa1bdcb
Add some testing to verify which module was imported in ET tests.
...
This is useful when mucking with import_fresh_module to either force or block
importing of the _elementtree accelerator. These tests in place provide an
immediate indication whether the accelerator was actually imported and overrode
the classes it should have.
2013-05-19 17:49:54 -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
Eli Bendersky
20c1cdd64a
Issue #17901 : fix TreeBuilder construction for an explicit element_factory=None
...
Based on report and patch by Aaron Oakley.
2013-05-18 15:47:58 -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
Eli Bendersky
b26545e7b4
Some cosmetic changes
2013-02-26 05:54:04 -08:00
Eli Bendersky
236870439c
Some cosmetic changes
2013-02-26 05:53:23 -08:00
Serhiy Storchaka
91d0ca72de
Issue #15083 : Convert ElementTree doctests to unittests.
2013-02-25 17:21:42 +02:00
Serhiy Storchaka
f8cf59e8aa
Issue #15083 : Convert ElementTree doctests to unittests.
2013-02-25 17:20:59 +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
Eli Bendersky
791c97a6a8
Add some tests for XPath numeric indexing
2013-01-22 06:15:29 -08:00
Eli Bendersky
a80f761a6d
Add some tests for XPath numeric indexing
2013-01-22 06:12:54 -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
Eli Bendersky
25771b3749
Issue #16922 : fixed findtext() to return empty Unicode string instead of empty bytes object when there's no text.
...
Patch by Serhiy Storchaka.
2013-01-13 05:26:07 -08:00
Eli Bendersky
c31f77355c
clean trailing whitespace
2013-01-12 07:44:32 -08:00
Eli Bendersky
ceab1a950b
Issues #15083 and #16992 : port find.* method tests to unittest
2013-01-12 07:42:46 -08:00
Eli Bendersky
e6174ca85e
Issue #16913 : Fix Element.itertext()'s handling of text with XML entities.
...
Patch by Serhiy Storchaka
2013-01-10 06:27:53 -08:00
Eli Bendersky
458c0d5a77
normalize whitespace
2013-01-10 06:07:00 -08:00
Eli Bendersky
698bdb2a6c
Issue #16076 : make _elementtree.Element pickle-able in a way that is compatible
...
with the Python version of the class.
Patch by Daniel Shahaf.
2013-01-10 06:01:06 -08:00
Eli Bendersky
a873690d2c
The get() and iter() are now able to accept keyword arguments.
...
In conformance with the documentation and the Python version.
Patch by Franck Michea.
2013-01-05 06:26:39 -08:00
Eli Bendersky
52280c427a
Skip a test correctly for the C-version. The decorator doesn't really work
...
because it evaluates its condition before pyET is even set by test_main.
Therefore, the check it moved to "runtime".
2012-12-30 06:27:56 -08:00
Eli Bendersky
7ec45f7a36
For Issue #16076 : make sure that pickling of Element objects is tested, and do
...
it properly to avoid problems with test-run-order dependencies.
2012-12-30 06:17:49 -08: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
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
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
6319e0fa20
Make the test more resilient to test-run order ( closes #15075 )
2012-06-16 06:47:44 +03:00
Eli Bendersky
307693a8bb
Skip XincludeTest entirely instead of just ignoring failures, because it may segfault, depending on the order of running tests
2012-06-15 09:40:44 +03: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
175fada429
mark problematic test as expected failure - investigating
2012-06-15 08:37:08 +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