Spaces:
Paused
Paused
| # 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() | |