123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- # defusedxml
- #
- # Copyright (c) 2013 by Christian Heimes <christian@python.org>
- # Licensed to PSF under a Contributor Agreement.
- # See https://www.python.org/psf/license for licensing details.
- """Defused xml.sax
- """
- from __future__ import print_function, absolute_import
- from xml.sax import InputSource as _InputSource
- from xml.sax import ErrorHandler as _ErrorHandler
- from . import expatreader
- __origin__ = "xml.sax"
- def parse(
- source,
- handler,
- errorHandler=_ErrorHandler(),
- forbid_dtd=False,
- forbid_entities=True,
- forbid_external=True,
- ):
- parser = make_parser()
- parser.setContentHandler(handler)
- parser.setErrorHandler(errorHandler)
- parser.forbid_dtd = forbid_dtd
- parser.forbid_entities = forbid_entities
- parser.forbid_external = forbid_external
- parser.parse(source)
- def parseString(
- string,
- handler,
- errorHandler=_ErrorHandler(),
- forbid_dtd=False,
- forbid_entities=True,
- forbid_external=True,
- ):
- from io import BytesIO
- if errorHandler is None:
- errorHandler = _ErrorHandler()
- parser = make_parser()
- parser.setContentHandler(handler)
- parser.setErrorHandler(errorHandler)
- parser.forbid_dtd = forbid_dtd
- parser.forbid_entities = forbid_entities
- parser.forbid_external = forbid_external
- inpsrc = _InputSource()
- inpsrc.setByteStream(BytesIO(string))
- parser.parse(inpsrc)
- def make_parser(parser_list=[]):
- return expatreader.create_parser()
|