U e5d?�@s dZddlmZddlmZmZddlmZmZm Z m Z m Z e�fdd�Z e�fdd�Z d gZd Zernd d lZd d lZd d lZejjs�d ejkr�ejd �d �Z[dZejd d�dkr�ej�e�r�ej�e��d �Zddd�Zejd d�dkr�dd�Zndd�Z[d S)a�Simple API for XML (SAX) implementation for Python. This module provides an implementation of the SAX 2 interface; information about the Java version of the interface can be found at http://www.megginson.com/SAX/. The Python version of the interface is documented at <...>. This package contains the following modules: handler -- Base classes and constants which define the SAX 2 API for the 'client-side' of SAX for Python. saxutils -- Implementation of the convenience classes commonly used to work with SAX. xmlreader -- Base classes and constants which define the SAX 2 API for the parsers used with SAX for Python. expatreader -- Driver that allows use of the Expat parser with SAX. �)� InputSource)�ContentHandler� ErrorHandler)� SAXException�SAXNotRecognizedException�SAXParseException�SAXNotSupportedException�SAXReaderNotAvailablecCs(t�}|�|�|�|�|�|�dS)N)� make_parser�setContentHandler�setErrorHandler�parse)�source�handler� errorHandler�parser�r�(/usr/lib64/python3.8/xml/sax/__init__.pyr s  r cCspddl}|dkrt�}t�}|�|�|�|�t�}t|t�rR|�|� |��n|� |� |��|� |�dS)N�) �iorr r r r� isinstance�strZsetCharacterStream�StringIOZ setByteStream�BytesIOr )�stringrrrrZinpsrcrrr� parseString#s   rzxml.sax.expatreaderrNZ PY_SAX_PARSER�,zpython.xml.sax.parser��javarc Csxt|�tD]\}zt|�WStk rT}zddl}||jkrD�W5d}~XYq tk rfYq Xq tdd��dS)a3Creates and returns a SAX parser. Creates the first parser it is able to instantiate of the ones given in the iterable created by chaining parser_list and default_parser_list. The iterables must contain the names of Python modules containing both a SAX parser and a create_parser function.rNzNo parsers found)�list�default_parser_list�_create_parser� ImportError�sys�modulesr )Z parser_list� parser_name�er#rrrr Fs r cCs$ddlm}|�|dt��}|��S)Nr)�imp)Zorg.python.corer'Z importName�globals� create_parser)r%r'� drv_modulerrrr!as r!cCst|iidg�}|��S)Nr))� __import__r))r%r*rrrr!gs)r)�__doc__Z xmlreaderrrrr� _exceptionsrrrrr r rr �_falseZxml.sax.expatreaderZxml�osr#�flags�ignore_environment�environ�splitZ_key�platform�registryZ containsKeyZ getPropertyr r!rrrr�s*