
    z%iP1                         	 d dl mZ d dlmZmZ  G d d      Z G d de      Z G d d      Z G d	 d
      Z G d d      Z	 G d de	      Z
d Zedk(  r e        yy)   )handler)SAXNotSupportedExceptionSAXNotRecognizedExceptionc                   h    e Zd Z	 d Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zy)	XMLReaderc                     t        j                         | _        t        j                         | _        t        j
                         | _        t        j                         | _        y N)	r   ContentHandler_cont_handler
DTDHandler_dtd_handlerEntityResolver_ent_handlerErrorHandler_err_handlerselfs    E/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/xml/sax/xmlreader.py__init__zXMLReader.__init__   sF    $335#..0#224#002    c                     	 t        d      Nz This method must be implemented!NotImplementedErrorr   sources     r   parsezXMLReader.parse   s    K!"DEEr   c                     	 | j                   S r	   r   r   s    r   getContentHandlerzXMLReader.getContentHandler"   s    -!!!r   c                     	 || _         y r	   r   r   r   s     r   setContentHandlerzXMLReader.setContentHandler&   s    D$r   c                     	 | j                   S r	   r   r   s    r   getDTDHandlerzXMLReader.getDTDHandler*   s    *   r   c                     	 || _         y r	   r%   r"   s     r   setDTDHandlerzXMLReader.setDTDHandler.   s    A#r   c                     	 | j                   S r	   r   r   s    r   getEntityResolverzXMLReader.getEntityResolver2   s    -   r   c                     	 || _         y r	   r*   )r   resolvers     r   setEntityResolverzXMLReader.setEntityResolver6   s    :$r   c                     	 | j                   S r	   r   r   s    r   getErrorHandlerzXMLReader.getErrorHandler:   s    +   r   c                     	 || _         y r	   r0   r"   s     r   setErrorHandlerzXMLReader.setErrorHandler>   s    =#r   c                     	 t        d      )NzLocale support not implemented)r   )r   locales     r   	setLocalezXMLReader.setLocaleB   s    	= ''GHHr   c                      	 t        d|z        NzFeature '%s' not recognizedr   r   names     r   
getFeaturezXMLReader.getFeatureK   s    ;'(E(LMMr   c                      	 t        d|z        r8   r9   )r   r;   states      r   
setFeaturezXMLReader.setFeatureO   s    +'(E(LMMr   c                      	 t        d|z        NzProperty '%s' not recognizedr9   r:   s     r   getPropertyzXMLReader.getPropertyS   s    <'(F(MNNr   c                      	 t        d|z        rA   r9   )r   r;   values      r   setPropertyzXMLReader.setPropertyW   s    ,'(F(MNNr   N)__name__
__module____qualname__r   r   r    r#   r&   r(   r+   r.   r1   r3   r6   r<   r?   rB   rE    r   r   r   r      sX    
3F"%!$!%!$INNOOr   r   c                   4    e Zd Z	 ddZd Zd Zd Zd Zd Zy)	IncrementalParserc                 <    || _         t        j                  |        y r	   )_bufsizer   r   )r   bufsizes     r   r   zIncrementalParser.__init__o   s    4 r   c                 P   ddl m} |j                  |      }| j                  |       |j	                         }||j                         }|j                  | j                        x}r/| j                  |       |j                  | j                        x}r/| j                          y )Nr   )saxutils)
 rP   prepare_input_sourceprepareParsergetCharacterStreamgetByteStreamreadrM   feedclose)r   r   rP   filebuffers        r   r   zIncrementalParser.parses   s    ..v66"((*<'')D		$--00f0IIf 		$--00f0

r   c                     	 t        d      r   r   )r   datas     r   rW   zIncrementalParser.feed   s    	( ""DEEr   c                     	 t        d      )Nz!prepareParser must be overridden!r   r   s     r   rS   zIncrementalParser.prepareParser   s    	=!"EFFr   c                     	 t        d      r   r   r   s    r   rX   zIncrementalParser.close   s    		) ""DEEr   c                     	 t        d      r   r   r   s    r   resetzIncrementalParser.reset   s    	  ""DEEr   N)i   )	rF   rG   rH   r   r   rW   rS   rX   r`   rI   r   r   rK   rK   [   s)    &!
FG
FFr   rK   c                   &    e Zd Z	 d Zd Zd Zd Zy)Locatorc                      	 yNrI   r   s    r   getColumnNumberzLocator.getColumnNumber   s    @r   c                      	 yrd   rI   r   s    r   getLineNumberzLocator.getLineNumber   s    >r   c                      	 y r	   rI   r   s    r   getPublicIdzLocator.getPublicId       =r   c                      	 y r	   rI   r   s    r   getSystemIdzLocator.getSystemId   rk   r   N)rF   rG   rH   rf   rh   rj   rm   rI   r   r   rb   rb      s    "
r   rb   c                   R    e Zd Z	 ddZd Zd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zy)InputSourceNc                 J    || _         d | _        d | _        d | _        d | _        y r	   )_InputSource__system_id_InputSource__public_id_InputSource__encoding_InputSource__bytefile_InputSource__charfiler   	system_ids     r   r   zInputSource.__init__   s'    $r   c                     	 || _         y r	   rr   )r   	public_ids     r   setPublicIdzInputSource.setPublicId       9$r   c                     	 | j                   S r	   ry   r   s    r   rj   zInputSource.getPublicId       <r   c                     	 || _         y r	   rq   rv   s     r   setSystemIdzInputSource.setSystemId   r|   r   c                     	 | j                   S r	   r   r   s    r   rm   zInputSource.getSystemId   r~   r   c                     	 || _         y r	   rs   )r   encodings     r   setEncodingzInputSource.setEncoding   s    	9 #r   c                     	 | j                   S r	   r   r   s    r   getEncodingzInputSource.getEncoding       9r   c                     	 || _         y r	   rt   )r   bytefiles     r   setByteStreamzInputSource.setByteStream   s    		A #r   c                     	 | j                   S r	   r   r   s    r   rU   zInputSource.getByteStream   s    	1 r   c                     	 || _         y r	   ru   )r   charfiles     r   setCharacterStreamzInputSource.setCharacterStream  s    	0 #r   c                     	 | j                   S r	   r   r   s    r   rT   zInputSource.getCharacterStream  r   r   r	   )rF   rG   rH   r   r{   rj   r   rm   r   r   r   rU   r   rT   rI   r   r   ro   ro      s?    B % % ###r   ro   c                   t    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd ZddZd Zd Zd Zy)AttributesImplc                     	 || _         y r	   _attrs)r   attrss     r   r   zAttributesImpl.__init__  s    	7 r   c                 ,    t        | j                        S r	   lenr   r   s    r   	getLengthzAttributesImpl.getLength      4;;r   c                      y)NCDATArI   r:   s     r   getTypezAttributesImpl.getType  s    r   c                      | j                   |   S r	   r   r:   s     r   getValuezAttributesImpl.getValue"      {{4  r   c                      | j                   |   S r	   r   r:   s     r   getValueByQNamezAttributesImpl.getValueByQName%  r   r   c                 8    || j                   vrt        |      |S r	   r   KeyErrorr:   s     r   getNameByQNamezAttributesImpl.getNameByQName(      t{{"4. r   c                 8    || j                   vrt        |      |S r	   r   r:   s     r   getQNameByNamezAttributesImpl.getQNameByName-  r   r   c                 H    t        | j                  j                               S r	   listr   keysr   s    r   getNameszAttributesImpl.getNames2      DKK$$&''r   c                 H    t        | j                  j                               S r	   r   r   s    r   	getQNameszAttributesImpl.getQNames5  r   r   c                 ,    t        | j                        S r	   r   r   s    r   __len__zAttributesImpl.__len__8  r   r   c                      | j                   |   S r	   r   r:   s     r   __getitem__zAttributesImpl.__getitem__;  r   r   c                 H    t        | j                  j                               S r	   r   r   s    r   r   zAttributesImpl.keys>  r   r   c                     || j                   v S r	   r   r:   s     r   __contains__zAttributesImpl.__contains__A  s    t{{""r   Nc                 :    | j                   j                  ||      S r	   )r   get)r   r;   alternatives      r   r   zAttributesImpl.getD  s    {{t[11r   c                 8    | j                  | j                        S r	   )	__class__r   r   s    r   copyzAttributesImpl.copyG  s    ~~dkk**r   c                 H    t        | j                  j                               S r	   )r   r   itemsr   s    r   r   zAttributesImpl.itemsJ  s    DKK%%'((r   c                 H    t        | j                  j                               S r	   )r   r   valuesr   s    r   r   zAttributesImpl.valuesM  s    DKK&&())r   r	   )rF   rG   rH   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rI   r   r   r   r     sW     !!

(( !(#2+)*r   r   c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)AttributesNSImplc                 "    	 || _         || _        y r	   )r   _qnames)r   r   qnamess      r   r   zAttributesNSImpl.__init__T  s    	= r   c                     | j                   j                         D ]  \  }}||k(  s| j                  |   c S  t        |      r	   )r   r   r   r   r   r;   nsnameqnames       r   r   z AttributesNSImpl.getValueByQName\  sD    #||113 	+OVU}{{6**	+ tnr   c                 n    | j                   j                         D ]  \  }}||k(  s|c S  t        |      r	   )r   r   r   r   s       r   r   zAttributesNSImpl.getNameByQNamec  s:    #||113 	OVU}	 tnr   c                      | j                   |   S r	   )r   r:   s     r   r   zAttributesNSImpl.getQNameByNamej  s    ||D!!r   c                 H    t        | j                  j                               S r	   )r   r   r   r   s    r   r   zAttributesNSImpl.getQNamesm  s    DLL'')**r   c                 N    | j                  | j                  | j                        S r	   )r   r   r   r   s    r   r   zAttributesNSImpl.copyp  s    ~~dkk4<<88r   N)	rF   rG   rH   r   r   r   r   r   r   rI   r   r   r   r   R  s     "+9r   r   c                  @    t                t                t                y r	   )r   rK   rb   rI   r   r   _testr   t  s    KIr   __main__N)rQ   r   _exceptionsr   r   r   rK   rb   ro   r   r   r   rF   rI   r   r   <module>r      sz   "  L
NO NO`DF	 DFP 0U Ur:* :*|9~ 9D
 z	G r   