a XC?h:�@s dZddlmZddlmZmZddlmZmZm Z m Z m Z e�fdd�Z e�fdd�Z d gZd Zernd d lZd d lZd d lZejjs�d ejvr�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�5/opt/alt/python39/lib64/python3.9/xml/sax/__init__.pyr s  r cCspddl}|durt�}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 Csft|�tD]J}zt|�WStyDddl}||jvr@�Yq tyTYq 0q 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_namer#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*