3 \�1�@s�ddlmZddlmZmZGdd�d�ZGdd�de�ZGdd�d�ZGd d �d �ZGd d �d �Z Gd d�de �Z dd�Z e dkr�e �dS)�)�handler)�SAXNotSupportedException�SAXNotRecognizedExceptionc@s�eZdZdd�Zdd�Zdd�Zdd�Zd d �Zd d �Zd d�Z dd�Z dd�Z dd�Z dd�Z dd�Zdd�Zdd�Zdd�ZdS) � XMLReadercCs,tj�|_tj�|_tj�|_tj�|_dS)N) rZContentHandler� _cont_handlerZ DTDHandler� _dtd_handlerZEntityResolver� _ent_handlerZ ErrorHandler� _err_handler)�self�r �)/usr/lib64/python3.6/xml/sax/xmlreader.py�__init__s   zXMLReader.__init__cCs td��dS)Nz This method must be implemented!)�NotImplementedError)r �sourcer r r �parseszXMLReader.parsecCs|jS)N)r)r r r r �getContentHandler"szXMLReader.getContentHandlercCs ||_dS)N)r)r rr r r �setContentHandler&szXMLReader.setContentHandlercCs|jS)N)r)r r r r � getDTDHandler*szXMLReader.getDTDHandlercCs ||_dS)N)r)r rr r r � setDTDHandler.szXMLReader.setDTDHandlercCs|jS)N)r)r r r r �getEntityResolver2szXMLReader.getEntityResolvercCs ||_dS)N)r)r Zresolverr r r �setEntityResolver6szXMLReader.setEntityResolvercCs|jS)N)r )r r r r �getErrorHandler:szXMLReader.getErrorHandlercCs ||_dS)N)r )r rr r r �setErrorHandler>szXMLReader.setErrorHandlercCs td��dS)NzLocale support not implemented)r)r Zlocaler r r � setLocaleBszXMLReader.setLocalecCstd|��dS)NzFeature '%s' not recognized)r)r �namer r r � getFeatureKszXMLReader.getFeaturecCstd|��dS)NzFeature '%s' not recognized)r)r r�stater r r � setFeatureOszXMLReader.setFeaturecCstd|��dS)NzProperty '%s' not recognized)r)r rr r r � getPropertySszXMLReader.getPropertycCstd|��dS)NzProperty '%s' not recognized)r)r r�valuer r r � setPropertyWszXMLReader.setPropertyN)�__name__� __module__� __qualname__r rrrrrrrrrrrrrr r r r r r s  rc@s>eZdZddd�Zdd�Zdd�Zd d �Zd d �Zd d�ZdS)�IncrementalParser��cCs||_tj|�dS)N)�_bufsizerr )r �bufsizer r r r oszIncrementalParser.__init__cCspddlm}|j|�}|j|�|j�}|dkr8|j�}|j|j�}x|rb|j|�|j|j�}qFW|j �dS)Nr)�saxutils) �r)Zprepare_input_source� prepareParser�getCharacterStream� getByteStream�readr'�feed�close)r rr)�file�bufferr r r rss     zIncrementalParser.parsecCs td��dS)Nz This method must be implemented!)r)r �datar r r r/�szIncrementalParser.feedcCs td��dS)Nz!prepareParser must be overridden!)r)r rr r r r+�szIncrementalParser.prepareParsercCs td��dS)Nz This method must be implemented!)r)r r r r r0�s zIncrementalParser.closecCs td��dS)Nz This method must be implemented!)r)r r r r �reset�szIncrementalParser.resetN�)r5) r!r"r#r rr/r+r0r4r r r r r$[s    r$c@s,eZdZdd�Zdd�Zdd�Zdd�Zd S) �LocatorcCsdS)Nr�����r )r r r r �getColumnNumber�szLocator.getColumnNumbercCsdS)Nrr7r )r r r r � getLineNumber�szLocator.getLineNumbercCsdS)Nr )r r r r � getPublicId�szLocator.getPublicIdcCsdS)Nr )r r r r � getSystemId�szLocator.getSystemIdN)r!r"r#r8r9r:r;r r r r r6�sr6c@sfeZdZddd�Zdd�Zdd�Zdd �Zd d �Zd d �Zdd�Z dd�Z dd�Z dd�Z dd�Z dS)� InputSourceNcCs"||_d|_d|_d|_d|_dS)N)�_InputSource__system_id�_InputSource__public_id�_InputSource__encoding�_InputSource__bytefile�_InputSource__charfile)r � system_idr r r r �s zInputSource.__init__cCs ||_dS)N)r>)r Z public_idr r r � setPublicId�szInputSource.setPublicIdcCs|jS)N)r>)r r r r r:�szInputSource.getPublicIdcCs ||_dS)N)r=)r rBr r r � setSystemId�szInputSource.setSystemIdcCs|jS)N)r=)r r r r r;�szInputSource.getSystemIdcCs ||_dS)N)r?)r �encodingr r r � setEncoding�szInputSource.setEncodingcCs|jS)N)r?)r r r r � getEncoding�szInputSource.getEncodingcCs ||_dS)N)r@)r Zbytefiler r r � setByteStream�s zInputSource.setByteStreamcCs|jS)N)r@)r r r r r-�szInputSource.getByteStreamcCs ||_dS)N)rA)r Zcharfiler r r �setCharacterStreamszInputSource.setCharacterStreamcCs|jS)N)rA)r r r r r,szInputSource.getCharacterStream)N)r!r"r#r rCr:rDr;rFrGrHr-rIr,r r r r r<�s    r<c@s�eZdZdd�Zdd�Zdd�Zdd�Zd d �Zd d �Zd d�Z dd�Z dd�Z dd�Z dd�Z dd�Zdd�Zd$dd�Zdd�Zd d!�Zd"d#�ZdS)%�AttributesImplcCs ||_dS)N)�_attrs)r �attrsr r r r szAttributesImpl.__init__cCs t|j�S)N)�lenrK)r r r r � getLengthszAttributesImpl.getLengthcCsdS)NZCDATAr )r rr r r �getType!szAttributesImpl.getTypecCs |j|S)N)rK)r rr r r �getValue$szAttributesImpl.getValuecCs |j|S)N)rK)r rr r r �getValueByQName'szAttributesImpl.getValueByQNamecCs||jkrt|��|S)N)rK�KeyError)r rr r r �getNameByQName*s zAttributesImpl.getNameByQNamecCs||jkrt|��|S)N)rKrR)r rr r r �getQNameByName/s zAttributesImpl.getQNameByNamecCst|jj��S)N)�listrK�keys)r r r r �getNames4szAttributesImpl.getNamescCst|jj��S)N)rUrKrV)r r r r � getQNames7szAttributesImpl.getQNamescCs t|j�S)N)rMrK)r r r r �__len__:szAttributesImpl.__len__cCs |j|S)N)rK)r rr r r � __getitem__=szAttributesImpl.__getitem__cCst|jj��S)N)rUrKrV)r r r r rV@szAttributesImpl.keyscCs ||jkS)N)rK)r rr r r � __contains__CszAttributesImpl.__contains__NcCs|jj||�S)N)rK�get)r r� alternativer r r r\FszAttributesImpl.getcCs |j|j�S)N)� __class__rK)r r r r �copyIszAttributesImpl.copycCst|jj��S)N)rUrK�items)r r r r r`LszAttributesImpl.itemscCst|jj��S)N)rUrK�values)r r r r raOszAttributesImpl.values)N)r!r"r#r rNrOrPrQrSrTrWrXrYrZrVr[r\r_r`rar r r r rJs" rJc@s<eZdZdd�Zdd�Zdd�Zdd�Zd d �Zd d �Zd S)�AttributesNSImplcCs||_||_dS)N)rK�_qnames)r rLZqnamesr r r r VszAttributesNSImpl.__init__cCs6x(|jj�D]\}}||kr |j|Sq Wt|��dS)N)rcr`rKrR)r r�nsname�qnamer r r rQ^sz AttributesNSImpl.getValueByQNamecCs0x"|jj�D]\}}||kr |Sq Wt|��dS)N)rcr`rR)r rrdrer r r rSeszAttributesNSImpl.getNameByQNamecCs |j|S)N)rc)r rr r r rTlszAttributesNSImpl.getQNameByNamecCst|jj��S)N)rUrcra)r r r r rXoszAttributesNSImpl.getQNamescCs|j|j|j�S)N)r^rKrc)r r r r r_rszAttributesNSImpl.copyN) r!r"r#r rQrSrTrXr_r r r r rbTs rbcCst�t�t�dS)N)rr$r6r r r r �_testvsrf�__main__N) r*r� _exceptionsrrrr$r6r<rJrbrfr!r r r r �s PJY>"