3 \. ã @ s d Z ddlmZ ddlmZmZ ddlmZmZm Z m Z mZ eƒ fdd„Zeƒ fdd„Z d gZd Zernd dlZd dlZd dlZejj r¢dejkr¢ejd jd ƒZ[dZejdd… dkrØejjeƒrØejjeƒjd ƒZg fdd„Zejdd… dk�rdd„ 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 ƒ }|j|ƒ |j|ƒ |j| ƒ d S )N)Úmake_parserÚsetContentHandlerÚsetErrorHandlerÚparse)ÚsourceÚhandlerÚerrorHandlerÚparser© r ú(/usr/lib64/python3.6/xml/sax/__init__.pyr s r c C sp dd l }|d krtƒ }tƒ }|j|ƒ |j|ƒ tƒ }t| tƒrR|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 sr xb| t D ]V}yt|ƒS tk rL } zddl}||jkr<‚ W Y dd}~X q tk r^ Y q X q W tddƒ‚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.r NzNo parsers found)Údefault_parser_listÚ_create_parserÚImportErrorÚsysÚmodulesr )Zparser_listÚparser_nameÚer" r r r r F s r c C s$ ddl m} |j| dtƒ ƒ}|jƒ S )Nr )Úimp)Zorg.python.corer&