summaryrefslogtreecommitdiff
path: root/Cython/Compiler/ModuleNode.py
diff options
context:
space:
mode:
authorNick Pope <nick.pope@flightdataservices.com>2020-10-06 16:55:02 +0100
committerGitHub <noreply@github.com>2020-10-06 17:55:02 +0200
commitb2b759ff714bd350e87faaf25c13f7dab459856f (patch)
tree6bf2496e724f0d35baec8b37dab1be8ad0a478b4 /Cython/Compiler/ModuleNode.py
parent7fae6c9dcdcefdd9d24212adc04fef5713506e4b (diff)
downloadcython-b2b759ff714bd350e87faaf25c13f7dab459856f.tar.gz
Prefer Element.iter() over the deprecated Element.getiterator(). (GH-3865)
`xml.etree.ElementTree.Element.getiterator()` was deprecated in Python 2.7 & 3.2 and removed in Python 3.9.
Diffstat (limited to 'Cython/Compiler/ModuleNode.py')
-rw-r--r--Cython/Compiler/ModuleNode.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py
index 9733ea718..3f0956dd6 100644
--- a/Cython/Compiler/ModuleNode.py
+++ b/Cython/Compiler/ModuleNode.py
@@ -429,7 +429,11 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
except ImportError:
import xml.etree.ElementTree as ET
coverage_xml = ET.parse(coverage_xml_filename).getroot()
- for el in coverage_xml.getiterator():
+ if hasattr(coverage_xml, 'iter'):
+ iterator = coverage_xml.iter() # Python 2.7 & 3.2+
+ else:
+ iterator = coverage_xml.getiterator()
+ for el in iterator:
el.tail = None # save some memory
else:
coverage_xml = None