3 \.�@sdZddlmZddlmZmZddlmZmZm Z m Z m Z e�fdd�Z e�fdd�Z d gZd Zernd d lZd d lZd d lZejj r�d ejkr�ejd jd �Z[dZejd d�dkr�ejje�r�ejje�jd �Zgfdd�Zejd d�dk�rdd�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�}|j|�|j|�|j|�dS)N)� make_parser�setContentHandler�setErrorHandler�parse)�source�handler� errorHandler�parser�r�(/usr/lib64/python3.6/xml/sax/__init__.pyr s  r cCspddl}|dkrt�}t�}|j|�|j|�t�}t|t�rR|j|j |��n|j |j |��|j |�dS)N�) �iorr r r r� isinstance�strZsetCharacterStream�StringIOZ setByteStream�BytesIOr )�stringrrrrZinpsrcrrr� parseString#s   rzxml.sax.expatreaderrNZ PY_SAX_PARSER�,zpython.xml.sax.parser��javacCsrxb|tD]V}yt|�Stk rL}zddl}||jkr<�WYdd}~Xq tk r^Yq Xq Wtdd��dS)a&Creates and returns a SAX parser. Creates the first parser it is able to instantiate of the ones given in the list created by doing parser_list + default_parser_list. The lists must contain the names of Python modules containing both a SAX parser and a create_parser function.rNzNo parsers found)�default_parser_list�_create_parser� ImportError�sys�modulesr )Z parser_list� parser_name�er"rrrr Fs  r cCs$ddlm}|j|dt��}|j�S)Nr)�imp)Zorg.python.corer&Z importName�globals� create_parser)r$r&� drv_modulerrrr as r cCst|iidg�}|j�S)Nr()� __import__r()r$r)rrrr gs)�__doc__Z xmlreaderrrrr� _exceptionsrrrrr r rr�_falseZxml.sax.expatreaderZxml�osr"�flags�ignore_environment�environ�splitZ_key�platform�registryZ containsKeyZ getPropertyr r rrrr�s*