Skip to content

Commit

Permalink
bpo-34791: xml package obeys ignore env flags (pythonGH-9544)
Browse files Browse the repository at this point in the history
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
  • Loading branch information
tiran authored and miss-islington committed Sep 24, 2018
1 parent a46467f commit 223e501
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 2 deletions.
4 changes: 3 additions & 1 deletion Lib/xml/dom/domreg.py
Expand Up @@ -6,6 +6,8 @@
# should be published by posting to xml-sig@python.org, and are
# subsequently recorded in this file.

import sys

well_known_implementations = {
'minidom':'xml.dom.minidom',
'4DOM': 'xml.dom.DOMImplementation',
Expand Down Expand Up @@ -55,7 +57,7 @@ def getDOMImplementation(name=None, features=()):
return mod.getDOMImplementation()
elif 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"])

# User did not specify a name, try implementations in arbitrary
Expand Down
2 changes: 1 addition & 1 deletion Lib/xml/sax/__init__.py
Expand Up @@ -58,7 +58,7 @@ def parseString(string, handler, errorHandler=ErrorHandler()):
import xml.sax.expatreader

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(",")
del os

Expand Down
@@ -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.

0 comments on commit 223e501

Please sign in to comment.