a
    Ó—àa:  ã                   @   s
  d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZ eƒ fdd„Zeƒ fdd„Zd	gZd
Zernd
dlZd
dlZd
dlZejjs dejv r ejd  d¡Z[dZejdd… dkrÖej e¡rÖej e¡ d¡Zddd„Zejdd… dkrüdd„ Zndd„ 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ÚSAXReaderNotAvailablec                 C   s(   t ƒ }| |¡ | |¡ | | ¡ d S )N)Úmake_parserÚsetContentHandlerÚsetErrorHandlerÚparse)ÚsourceÚhandlerÚerrorHandlerÚparser© r   ú3/home/manager/Python-3.9.10/Lib/xml/sax/__init__.pyr      s    

r   c                 C   sp   dd l }|d u rtƒ }tƒ }| |¡ | |¡ tƒ }t| tƒrR| | 	| ¡¡ n| 
| | ¡¡ | |¡ d S )Né    )Úior   r
   r   r   r   Ú
isinstanceÚstrZsetCharacterStreamÚStringIOZsetByteStreamÚBytesIOr   )Ústringr   r   r   r   Zinpsrcr   r   r   ÚparseString#   s    


r   zxml.sax.expatreaderr   NZPY_SAX_PARSERú,zpython.xml.sax.parseré   Újavar   c              	   C   sf   t | ƒt D ]J}zt|ƒW   S  tyD   ddl}||jv r@‚ Y q tyT   Y q0 qtddƒ‚dS )a3  Creates 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.r   NzNo parsers found)ÚlistÚdefault_parser_listÚ_create_parserÚImportErrorÚsysÚmodulesr	   )Zparser_listÚparser_namer#   r   r   r   r
   F   s    
r
   c                 C   s$   ddl m} | | dtƒ ¡}| ¡ S )Nr   )Úimp)Zorg.python.corer&   Z
importNameÚglobalsÚcreate_parser)r%   r&   Ú
drv_moduler   r   r   r!   a   s    r!   c                 C   s   t | i i dgƒ}| ¡ S )Nr(   )Ú
__import__r(   )r%   r)   r   r   r   r!   g   s    )r   )Ú__doc__Z	xmlreaderr   r   r   r   Ú_exceptionsr   r   r   r   r	   r   r   r    Ú_falseZxml.sax.expatreaderÚxmlÚosr#   ÚflagsÚignore_environmentÚenvironÚsplitÚ_keyÚplatformÚregistryZcontainsKeyÚgetPropertyr
   r!   r   r   r   r   Ú<module>   s*   

