bpo-34791: xml package obeys ignore env flags (GH-9544)

The xml.sax and xml.dom.domreg modules now obey
sys.flags.ignore_environment.

Signed-off-by: Christian Heimes <christian@python.org>



https://bugs.python.org/issue34791
This commit is contained in:
Christian Heimes 2018-09-24 19:21:12 +02:00 committed by Miss Islington (bot)
parent a46467ff19
commit 223e501fb9
3 changed files with 7 additions and 2 deletions

View File

@ -6,6 +6,8 @@ registerDOMImplementation should be imported from xml.dom."""
# should be published by posting to xml-sig@python.org, and are # should be published by posting to xml-sig@python.org, and are
# subsequently recorded in this file. # subsequently recorded in this file.
import sys
well_known_implementations = { well_known_implementations = {
'minidom':'xml.dom.minidom', 'minidom':'xml.dom.minidom',
'4DOM': 'xml.dom.DOMImplementation', '4DOM': 'xml.dom.DOMImplementation',
@ -55,7 +57,7 @@ def getDOMImplementation(name=None, features=()):
return mod.getDOMImplementation() return mod.getDOMImplementation()
elif name: elif name:
return registered[name]() return registered[name]()
elif "PYTHON_DOM" in os.environ: elif not sys.flags.ignore_environment and "PYTHON_DOM" in os.environ:
return getDOMImplementation(name = os.environ["PYTHON_DOM"]) return getDOMImplementation(name = os.environ["PYTHON_DOM"])
# User did not specify a name, try implementations in arbitrary # User did not specify a name, try implementations in arbitrary

View File

@ -58,7 +58,7 @@ if _false:
import xml.sax.expatreader import xml.sax.expatreader
import os, sys import os, sys
if "PY_SAX_PARSER" in os.environ: if not sys.flags.ignore_environment and "PY_SAX_PARSER" in os.environ:
default_parser_list = os.environ["PY_SAX_PARSER"].split(",") default_parser_list = os.environ["PY_SAX_PARSER"].split(",")
del os del os

View File

@ -0,0 +1,3 @@
The xml.sax and xml.dom.domreg no longer use environment variables to
override parser implementations when sys.flags.ignore_environment is set by
-E or -I arguments.