summaryrefslogtreecommitdiff
path: root/defusedxml/ElementTree.py
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2021-03-08 11:25:48 +0100
committerChristian Heimes <christian@python.org>2021-03-08 11:30:31 +0100
commit35ebedca6fb072b25a177d5446f9a1bf176d581a (patch)
treeca05548088327a20584cb39996b250af5d31bb9e /defusedxml/ElementTree.py
parent1ac00c6dcb7696b960611ebdd80964907d7d07ae (diff)
downloaddefusedxml-git-35ebedca6fb072b25a177d5446f9a1bf176d581a.tar.gz
Fix regression defusedxml.ElementTree.ParseError
The ``defusedxml.ElementTree.ParseError`` exception is now the same class object as ``xml.etree.ElementTree.ParseError`` again. The regression was introduced by new patching code as part of PR #60. See: https://github.com/tiran/defusedxml/pull/60 Fixes: https://github.com/tiran/defusedxml/issues/63 Signed-off-by: Christian Heimes <christian@python.org>
Diffstat (limited to 'defusedxml/ElementTree.py')
-rw-r--r--defusedxml/ElementTree.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/defusedxml/ElementTree.py b/defusedxml/ElementTree.py
index 7209661..15c179f 100644
--- a/defusedxml/ElementTree.py
+++ b/defusedxml/ElementTree.py
@@ -9,6 +9,7 @@ from __future__ import print_function, absolute_import
import sys
import warnings
+from xml.etree.ElementTree import ParseError
from xml.etree.ElementTree import TreeBuilder as _TreeBuilder
from xml.etree.ElementTree import parse as _parse
from xml.etree.ElementTree import tostring
@@ -51,12 +52,13 @@ def _get_py3_cls():
_XMLParser = pure_pymod.XMLParser
_iterparse = pure_pymod.iterparse
- ParseError = pure_pymod.ParseError
+ # patch pure module to use ParseError from C extension
+ pure_pymod.ParseError = ParseError
- return _XMLParser, _iterparse, ParseError
+ return _XMLParser, _iterparse
-_XMLParser, _iterparse, ParseError = _get_py3_cls()
+_XMLParser, _iterparse = _get_py3_cls()
_sentinel = object()