U
��,a?�@s
dZddlmZddlmZmZddlmZmZm Z m
Z
mZe�fdd�Ze�fdd�Z
d gZd
Zernd
dlZd
dlZd
dlZejjs�dejkr�ejd�d
�Z[dZejdd�dkr�ej�e�r�ej�e��d
�Zddd�Zejdd�dkr�dd�Zndd�Z[dS)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/python38/lib64/python3.8/xml/sax/__init__.pyr
s
r
cCspddl}|dkrt�}t�}|�|�|�|�t�}t|t�rR|�|� |��n|�
|�|��|�|�dS)N�)
�iorr
rrr�
isinstance�strZsetCharacterStream�StringIOZ
setByteStream�BytesIOr
)�stringrrrrZinpsrcrrr�parseString#s
rzxml.sax.expatreaderrNZ
PY_SAX_PARSER�,zpython.xml.sax.parser��javarcCsxt|�tD]\}zt|�WStk
rT}zddl}||jkrD�W5d}~XYqtk
rfYqXqtdd��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 )Zparser_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!asr!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�registryZcontainsKeyZgetPropertyr
r!rrrr�<module>s*
|