github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/gubernator/third_party/defusedxml/minidom.py (about) 1 # defusedxml 2 # 3 # Copyright (c) 2013 by Christian Heimes <christian@python.org> 4 # Licensed to PSF under a Contributor Agreement. 5 # See http://www.python.org/psf/license for licensing details. 6 """Defused xml.dom.minidom 7 """ 8 from __future__ import print_function, absolute_import 9 10 from xml.dom.minidom import _do_pulldom_parse 11 from . import expatbuilder as _expatbuilder 12 from . import pulldom as _pulldom 13 14 __origin__ = "xml.dom.minidom" 15 16 def parse(file, parser=None, bufsize=None, forbid_dtd=False, 17 forbid_entities=True, forbid_external=True): 18 """Parse a file into a DOM by filename or file object.""" 19 if parser is None and not bufsize: 20 return _expatbuilder.parse(file, forbid_dtd=forbid_dtd, 21 forbid_entities=forbid_entities, 22 forbid_external=forbid_external) 23 else: 24 return _do_pulldom_parse(_pulldom.parse, (file,), 25 {'parser': parser, 'bufsize': bufsize, 26 'forbid_dtd': forbid_dtd, 'forbid_entities': forbid_entities, 27 'forbid_external': forbid_external}) 28 29 def parseString(string, parser=None, forbid_dtd=False, 30 forbid_entities=True, forbid_external=True): 31 """Parse a file into a DOM from a string.""" 32 if parser is None: 33 return _expatbuilder.parseString(string, forbid_dtd=forbid_dtd, 34 forbid_entities=forbid_entities, 35 forbid_external=forbid_external) 36 else: 37 return _do_pulldom_parse(_pulldom.parseString, (string,), 38 {'parser': parser, 'forbid_dtd': forbid_dtd, 39 'forbid_entities': forbid_entities, 40 'forbid_external': forbid_external})