File: //opt/alt/python35/lib64/python3.5/xml/sax/__pycache__/__init__.cpython-35.opt-1.pyc
��Yf.  �               @   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 �  d d � Z e �  d d � Z
 d	 g Z d
 Z e r� d
 d l Z d
 d l Z d
 d l Z e j j r� d e j k r� e j d j d
 � Z [ d Z e j d d � d k r2e j j e � r2e j j e � j d
 � Z g  d d � Z e j d d � d k rid 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   s4   t  �  } | j | � | j | � | j |  � d  S)N)�make_parser�setContentHandler�setErrorHandler�parse)�source�handler�errorHandler�parser� r   �5/opt/alt/python35/lib64/python3.5/xml/sax/__init__.pyr
      s    	
r
   c             C   s�   d d  l  } | d  k r! t �  } t �  } | j | � | j | � t �  } t |  t � ru | j | j	 |  � � n | j
 | j |  � � | j | � 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�   �javac             C   s�   xw |  t  D]k } y t | � SWq t k
 rd } z# d d l } | | j k rR �  WYd d } ~ Xq t k
 ru Yq Xq Wt d d � � d S)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.r   NzNo parsers found)�default_parser_list�_create_parser�ImportError�sys�modulesr	   )Zparser_list�parser_name�er"