Skip to content

Commit

Permalink
bpo-34791: xml package obeys ignore env flags (GH-9544) (GH-9547)
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
(cherry picked from commit 223e501)

Co-authored-by: Christian Heimes <christian@python.org>
  • Loading branch information
2 people authored and vstinner committed Oct 19, 2018
1 parent 5744a33 commit 2546ac8
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
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,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 @@ -57,7 +59,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
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,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
Original file line number Diff line number Diff line change
@@ -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 2546ac8

Please sign in to comment.