???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3

  \1                 @   s   d dl mZ d dlmZmZ G dd dZG dd deZG dd dZG d	d
 d
ZG dd dZ	G dd de	Z
dd Zedkre  dS )   )handler)SAXNotSupportedExceptionSAXNotRecognizedExceptionc               @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd ZdS ) 	XMLReaderc             C   s,   t j | _t j | _t j | _t j | _d S )N)	r   ZContentHandler_cont_handlerZ
DTDHandler_dtd_handlerZEntityResolver_ent_handlerZErrorHandler_err_handler)self r   )/usr/lib64/python3.6/xml/sax/xmlreader.py__init__   s    


zXMLReader.__init__c             C   s   t dd S )Nz This method must be implemented!)NotImplementedError)r
   sourcer   r   r   parse   s    zXMLReader.parsec             C   s   | j S )N)r   )r
   r   r   r   getContentHandler"   s    zXMLReader.getContentHandlerc             C   s
   || _ d S )N)r   )r
   r   r   r   r   setContentHandler&   s    zXMLReader.setContentHandlerc             C   s   | j S )N)r   )r
   r   r   r   getDTDHandler*   s    zXMLReader.getDTDHandlerc             C   s
   || _ d S )N)r   )r
   r   r   r   r   setDTDHandler.   s    zXMLReader.setDTDHandlerc             C   s   | j S )N)r   )r
   r   r   r   getEntityResolver2   s    zXMLReader.getEntityResolverc             C   s
   || _ d S )N)r   )r
   Zresolverr   r   r   setEntityResolver6   s    zXMLReader.setEntityResolverc             C   s   | j S )N)r	   )r
   r   r   r   getErrorHandler:   s    zXMLReader.getErrorHandlerc             C   s
   || _ d S )N)r	   )r
   r   r   r   r   setErrorHandler>   s    zXMLReader.setErrorHandlerc             C   s   t dd S )NzLocale support not implemented)r   )r
   Zlocaler   r   r   	setLocaleB   s    zXMLReader.setLocalec             C   s   t d| d S )NzFeature '%s' not recognized)r   )r
   namer   r   r   
getFeatureK   s    zXMLReader.getFeaturec             C   s   t d| d S )NzFeature '%s' not recognized)r   )r
   r   stater   r   r   
setFeatureO   s    zXMLReader.setFeaturec             C   s   t d| d S )NzProperty '%s' not recognized)r   )r
   r   r   r   r   getPropertyS   s    zXMLReader.getPropertyc             C   s   t d| d S )NzProperty '%s' not recognized)r   )r
   r   valuer   r   r   setPropertyW   s    zXMLReader.setPropertyN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   r   r   r      s   	r   c               @   s>   e Zd ZdddZdd Zdd Zd	d
 Zdd Zdd ZdS )IncrementalParser      c             C   s   || _ tj|  d S )N)_bufsizer   r   )r
   bufsizer   r   r   r   o   s    zIncrementalParser.__init__c             C   sp   ddl m} |j|}| j| |j }|d kr8|j }|j| j}x|rb| j| |j| j}qFW | j	  d S )Nr   )saxutils)
 r)   Zprepare_input_sourceprepareParsergetCharacterStreamgetByteStreamreadr'   feedclose)r
   r   r)   filebufferr   r   r   r   s   s    


zIncrementalParser.parsec             C   s   t dd S )Nz This method must be implemented!)r   )r
   datar   r   r   r/      s    zIncrementalParser.feedc             C   s   t dd S )Nz!prepareParser must be overridden!)r   )r
   r   r   r   r   r+      s    zIncrementalParser.prepareParserc             C   s   t dd S )Nz This method must be implemented!)r   )r
   r   r   r   r0      s    zIncrementalParser.closec             C   s   t dd S )Nz This method must be implemented!)r   )r
   r   r   r   reset   s    zIncrementalParser.resetN   )r5   )	r!   r"   r#   r   r   r/   r+   r0   r4   r   r   r   r   r$   [   s   
	r$   c               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
Locatorc             C   s   dS )Nr   r   )r
   r   r   r   getColumnNumber   s    zLocator.getColumnNumberc             C   s   dS )Nr   r7   r   )r
   r   r   r   getLineNumber   s    zLocator.getLineNumberc             C   s   d S )Nr   )r
   r   r   r   getPublicId   s    zLocator.getPublicIdc             C   s   d S )Nr   )r
   r   r   r   getSystemId   s    zLocator.getSystemIdN)r!   r"   r#   r8   r9   r:   r;   r   r   r   r   r6      s   r6   c               @   sf   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd ZdS )InputSourceNc             C   s"   || _ d | _d | _d | _d | _d S )N)_InputSource__system_id_InputSource__public_id_InputSource__encoding_InputSource__bytefile_InputSource__charfile)r
   	system_idr   r   r   r      s
    zInputSource.__init__c             C   s
   || _ d S )N)r>   )r
   Z	public_idr   r   r   setPublicId   s    zInputSource.setPublicIdc             C   s   | j S )N)r>   )r
   r   r   r   r:      s    zInputSource.getPublicIdc             C   s
   || _ d S )N)r=   )r
   rB   r   r   r   setSystemId   s    zInputSource.setSystemIdc             C   s   | j S )N)r=   )r
   r   r   r   r;      s    zInputSource.getSystemIdc             C   s
   || _ d S )N)r?   )r
   encodingr   r   r   setEncoding   s    zInputSource.setEncodingc             C   s   | j S )N)r?   )r
   r   r   r   getEncoding   s    zInputSource.getEncodingc             C   s
   || _ d S )N)r@   )r
   Zbytefiler   r   r   setByteStream   s    zInputSource.setByteStreamc             C   s   | j S )N)r@   )r
   r   r   r   r-      s    zInputSource.getByteStreamc             C   s
   || _ d S )N)rA   )r
   Zcharfiler   r   r   setCharacterStream  s    zInputSource.setCharacterStreamc             C   s   | j S )N)rA   )r
   r   r   r   r,     s    zInputSource.getCharacterStream)N)r!   r"   r#   r   rC   r:   rD   r;   rF   rG   rH   r-   rI   r,   r   r   r   r   r<      s   


r<   c               @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zd$ddZdd Zd d! Zd"d# ZdS )%AttributesImplc             C   s
   || _ d S )N)_attrs)r
   attrsr   r   r   r     s    zAttributesImpl.__init__c             C   s
   t | jS )N)lenrK   )r
   r   r   r   	getLength  s    zAttributesImpl.getLengthc             C   s   dS )NZCDATAr   )r
   r   r   r   r   getType!  s    zAttributesImpl.getTypec             C   s
   | j | S )N)rK   )r
   r   r   r   r   getValue$  s    zAttributesImpl.getValuec             C   s
   | j | S )N)rK   )r
   r   r   r   r   getValueByQName'  s    zAttributesImpl.getValueByQNamec             C   s   || j krt||S )N)rK   KeyError)r
   r   r   r   r   getNameByQName*  s    
zAttributesImpl.getNameByQNamec             C   s   || j krt||S )N)rK   rR   )r
   r   r   r   r   getQNameByName/  s    
zAttributesImpl.getQNameByNamec             C   s   t | jj S )N)listrK   keys)r
   r   r   r   getNames4  s    zAttributesImpl.getNamesc             C   s   t | jj S )N)rU   rK   rV   )r
   r   r   r   	getQNames7  s    zAttributesImpl.getQNamesc             C   s
   t | jS )N)rM   rK   )r
   r   r   r   __len__:  s    zAttributesImpl.__len__c             C   s
   | j | S )N)rK   )r
   r   r   r   r   __getitem__=  s    zAttributesImpl.__getitem__c             C   s   t | jj S )N)rU   rK   rV   )r
   r   r   r   rV   @  s    zAttributesImpl.keysc             C   s
   || j kS )N)rK   )r
   r   r   r   r   __contains__C  s    zAttributesImpl.__contains__Nc             C   s   | j j||S )N)rK   get)r
   r   alternativer   r   r   r\   F  s    zAttributesImpl.getc             C   s   | j | jS )N)	__class__rK   )r
   r   r   r   copyI  s    zAttributesImpl.copyc             C   s   t | jj S )N)rU   rK   items)r
   r   r   r   r`   L  s    zAttributesImpl.itemsc             C   s   t | jj S )N)rU   rK   values)r
   r   r   r   ra   O  s    zAttributesImpl.values)N)r!   r"   r#   r   rN   rO   rP   rQ   rS   rT   rW   rX   rY   rZ   rV   r[   r\   r_   r`   ra   r   r   r   r   rJ     s"   
rJ   c               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )AttributesNSImplc             C   s   || _ || _d S )N)rK   _qnames)r
   rL   Zqnamesr   r   r   r   V  s    zAttributesNSImpl.__init__c             C   s6   x(| j j D ]\}}||kr| j| S qW t|d S )N)rc   r`   rK   rR   )r
   r   nsnameqnamer   r   r   rQ   ^  s    z AttributesNSImpl.getValueByQNamec             C   s0   x"| j j D ]\}}||kr|S qW t|d S )N)rc   r`   rR   )r
   r   rd   re   r   r   r   rS   e  s    zAttributesNSImpl.getNameByQNamec             C   s
   | j | S )N)rc   )r
   r   r   r   r   rT   l  s    zAttributesNSImpl.getQNameByNamec             C   s   t | jj S )N)rU   rc   ra   )r
   r   r   r   rX   o  s    zAttributesNSImpl.getQNamesc             C   s   | j | j| jS )N)r^   rK   rc   )r
   r   r   r   r_   r  s    zAttributesNSImpl.copyN)	r!   r"   r#   r   rQ   rS   rT   rX   r_   r   r   r   r   rb   T  s   rb   c               C   s   t   t  t  d S )N)r   r$   r6   r   r   r   r   _testv  s    rf   __main__N)r*   r   _exceptionsr   r   r   r$   r6   r<   rJ   rb   rf   r!   r   r   r   r   <module>   s   PJY>"