HEX
Server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141
System: Linux Kou-Etsu-Dou 4.4.59+ #25556 SMP PREEMPT Thu Mar 4 18:03:46 CST 2021 x86_64
User: hosam (1026)
PHP: 7.2.29
Disabled: NONE
Upload Files
File: //usr/lib64/python2.7/site-packages/defusedxml/minidom.py
# defusedxml
#
# Copyright (c) 2013 by Christian Heimes <christian@python.org>
# Licensed to PSF under a Contributor Agreement.
# See http://www.python.org/psf/license for licensing details.
"""Defused xml.dom.minidom
"""
from __future__ import print_function, absolute_import

from xml.dom.minidom import _do_pulldom_parse
from . import expatbuilder as _expatbuilder
from . import pulldom as _pulldom

__origin__ = "xml.dom.minidom"


def parse(file, parser=None, bufsize=None, forbid_dtd=False,
          forbid_entities=True, forbid_external=True):
    """Parse a file into a DOM by filename or file object."""
    if parser is None and not bufsize:
        return _expatbuilder.parse(file, forbid_dtd=forbid_dtd,
                                   forbid_entities=forbid_entities,
                                   forbid_external=forbid_external)
    else:
        return _do_pulldom_parse(_pulldom.parse, (file,),
                                 {'parser': parser, 'bufsize': bufsize,
                                  'forbid_dtd': forbid_dtd, 'forbid_entities': forbid_entities,
                                  'forbid_external': forbid_external})


def parseString(string, parser=None, forbid_dtd=False,
                forbid_entities=True, forbid_external=True):
    """Parse a file into a DOM from a string."""
    if parser is None:
        return _expatbuilder.parseString(string, forbid_dtd=forbid_dtd,
                                         forbid_entities=forbid_entities,
                                         forbid_external=forbid_external)
    else:
        return _do_pulldom_parse(_pulldom.parseString, (string,),
                                 {'parser': parser, 'forbid_dtd': forbid_dtd,
                                  'forbid_entities': forbid_entities,
                                  'forbid_external': forbid_external})