File: //lib64/python3.9/xml/sax/__pycache__/__init__.cpython-39.opt-1.pyc
a
    �DOg:  �                   @   s
  d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZ e� fdd�Ze� fdd�Z
d	gZd
Zernd
dlZd
dlZd
dlZejjs�dejv r�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�SAXReaderNotAvailablec                 C   s(   t � }|�|� |�|� |�| � d S )N)�make_parser�setContentHandler�setErrorHandler�parse)�source�handler�errorHandler�parser� r   �(/usr/lib64/python3.9/xml/sax/__init__.pyr
      s    
r
   c                 C   sp   dd l }|d u rt� }t� }|�|� |�|� t� }t| t�rR|�|�	| �� n|�
|�| �� |�|� d S )N�    )
�ior   r
   r   r   r   �
isinstance�strZsetCharacterStream�StringIOZ
setByteStream�BytesIOr
   )�stringr   r   r   r   Zinpsrcr   r   r   �parseString#   s    
r   zxml.sax.expatreaderr   NZ
PY_SAX_PARSER�,zpython.xml.sax.parser�   �javar   c              	   C   sf   t | �t D ]J}zt|�W   S  tyD   ddl}||jv r@� Y q tyT   Y q0 qtdd��dS )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   NzNo parsers found)�list�default_parser_list�_create_parser�ImportError�sys�modulesr	   )Zparser_list�parser_namer#   r   r   r   r
   F   s    
r
   c                 C   s$   ddl m} |�| dt� �}|�� S )Nr   )�imp)Zorg.python.corer&