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})