a ´i: ã @ 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&