]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] gh-114737: Revert change to ElementTree.iterparse "root" attribute (GH-114755...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 31 Jan 2024 12:03:08 +0000 (13:03 +0100)
committerGitHub <noreply@github.com>
Wed, 31 Jan 2024 12:03:08 +0000 (12:03 +0000)
Prior to gh-114269, the iterator returned by ElementTree.iterparse was
initialized with the root attribute as None. This restores the previous
behavior.
(cherry picked from commit 66f95ea6a65deff547cab0d312b8c8c8a4cf8beb)

Co-authored-by: Sam Gross <colesbury@gmail.com>
Lib/test/test_xml_etree.py
Lib/xml/etree/ElementTree.py

index 57f5de34fdc1083f33e2413aba7a6593cc9df5f2..267982a8233c92db42d79345a1cf35b4f92a5826 100644 (file)
@@ -536,7 +536,9 @@ class ElementTreeTest(unittest.TestCase):
         iterparse = ET.iterparse
 
         context = iterparse(SIMPLE_XMLFILE)
+        self.assertIsNone(context.root)
         action, elem = next(context)
+        self.assertIsNone(context.root)
         self.assertEqual((action, elem.tag), ('end', 'element'))
         self.assertEqual([(action, elem.tag) for action, elem in context], [
                 ('end', 'element'),
index d4b259e31a7de77e8c8f6b7ddb82b0ef48a7b867..fce0c2963a28d522e3baa01df3c663bd6b68ac25 100644 (file)
@@ -1271,8 +1271,8 @@ def iterparse(source, events=None, parser=None):
                 source.close()
 
     it = IterParseIterator()
+    it.root = None
     wr = weakref.ref(it)
-    del IterParseIterator
     return it