Your IP : 18.227.105.97


Current Path : /lib64/python3.6/xml/sax/__pycache__/
Upload File :
Current File : //lib64/python3.6/xml/sax/__pycache__/expatreader.cpython-36.opt-2.pyc

3


 \X=�@s�dZddlTddlmZmZddlmZddlmZmZddlmZddlm	Z	m
Z
ddlZejdd	�d
krxe
dd��[yddlmZWnek
r�e
d
d��YnXeed�s�e
d
d��ddlmZmZmZejZejZyddlZWnek
�rdd�ZYnXddlZejZ[[Gdd�d�ZGdd�dej�ZGdd�dejej�Z dd�Z!e"dk�r�ddl#Z$e!�Z%e%j&e$j'jj(��e%j)e$j'j*��e%j+d�dS)z0.20�)�*)�feature_validation�feature_namespaces)�feature_namespace_prefixes)�feature_external_ges�feature_external_pes)�feature_string_interning)�property_xml_string�property_interning_dictN��javazexpat not available in Java)�expatzexpat not supported�ParserCreate)�	xmlreader�saxutils�handlercCs|S)N�)�orr�+/usr/lib64/python3.6/xml/sax/expatreader.py�_mkproxy'src@seZdZdS)�
_ClosedParserN)�__name__�
__module__�__qualname__rrrrr.src@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�ExpatLocatorcCst|�|_dS)N)r�_ref)�self�parserrrr�__init__9szExpatLocator.__init__cCs|j}|jdkrdS|jjS)N)r�_parser�ErrorColumnNumber)rrrrr�getColumnNumber<s
zExpatLocator.getColumnNumbercCs|j}|jdkrdS|jjS)N�)rr�ErrorLineNumber)rrrrr�
getLineNumberBs
zExpatLocator.getLineNumbercCs|j}|dkrdS|jj�S)N)r�_source�getPublicId)rrrrrr&HszExpatLocator.getPublicIdcCs|j}|dkrdS|jj�S)N)rr%�getSystemId)rrrrrr'NszExpatLocator.getSystemIdN)rrrrr!r$r&r'rrrrr3s
rc@seZdZdFdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�Z	dd�Z
dGdd�Zdd�Zdd�Z
dd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Zd=d>�Zd?d@�Z dAdB�Z!dCS)H�ExpatParserr���cCsFtjj||�tj�|_d|_||_d|_d|_g|_	d|_
d|_dS)Nr)r�IncrementalParserrZInputSourcer%r�_namespaces�_lex_handler_prop�_parsing�
_entity_stack�
_external_ges�
_interning)rZnamespaceHandling�bufsizerrrrZs
zExpatParser.__init__c	CsVtj|�}||_y*|j�|jjt|��tjj	||�Wn|j
��YnXdS)N)r�prepare_input_sourcer%�reset�
_cont_handlerZsetDocumentLocatorrrr,�parse�
_close_source)r�sourcerrrr7gs
zExpatParser.parsecCs |j�dk	r|jj|j��dS)N)r'rZSetBase)rr9rrr�
prepareParserwszExpatParser.prepareParsercCs tjj||�|jr|j�dS)N)rr,�setContentHandlerr/�_reset_cont_handler)rrrrrr;}szExpatParser.setContentHandlercCsP|tkr|jS|tkr |jdk	S|tttfkr2dS|tkr@|jSt	d|��dS)NrzFeature '%s' not recognized)
rr-rr2rrrrr1�SAXNotRecognizedException)r�namerrr�
getFeature�s
zExpatParser.getFeaturecCs�|jrtd��|tkr||_n�|tkr.||_nt|tkrT|rL|jdkrRi|_q�d|_nN|tkrj|r�td��n8|t	kr�|r�td��n"|t
kr�|r�td��ntd|��dS)Nz!Cannot set features while parsingz!expat does not support validationz/expat does not read external parameter entitiesz(expat does not report namespace prefixeszFeature '%s' not recognized)r/�SAXNotSupportedExceptionrr-rr1rr2rrrr=)rr>�staterrr�
setFeature�s2
zExpatParser.setFeaturecCsd|tjkr|jS|tkr|jS|tkrT|jrLt|jd�rB|jj�St	d��nt
d��t	d|��dS)N�GetInputContextz=This version of expat does not support getting the XML stringz.XML string cannot be returned when not parsingzProperty '%s' not recognized)r�property_lexical_handlerr.r
r2r	r�hasattrrCr=r@)rr>rrr�getProperty�s

zExpatParser.getPropertycCsV|tjkr ||_|jrR|j�n2|tkr0||_n"|tkrFtd|��nt	d|��dS)NzProperty '%s' cannot be setzProperty '%s' not recognized)
rrDr.r/�_reset_lex_handler_propr
r2r	r@r=)rr>�valuerrr�setProperty�s


zExpatParser.setPropertycCsz|js|j�d|_|jj�y|jj||�WnDtjk
rt}z&ttj	|j
�||�}|jj|�WYdd}~XnXdS)Nr")
r/r5r6Z
startDocumentrZParser
�errorZSAXParseExceptionZErrorString�codeZ_err_handlerZ
fatalError)r�data�isFinal�e�excrrr�feed�s
zExpatParser.feedcCsB|j}z|j�}|dk	r |j�Wd|j�}|dk	r<|j�XdS)N)r%ZgetCharacterStream�closeZ
getByteStream)rr9�filerrrr8�szExpatParser._close_sourcecCs�|js|jdkst|jt�r dSz(|jddd�|jj�d|_d|_Wdd|_|jdk	rzt�}|jj|_|jj	|_	||_|j
�XdS)N�r")rMr)r0r�
isinstancerrPr6ZendDocumentr/r r#r8)rrrrrrQ�s




zExpatParser.closecCs|jj|j_|jj|j_dS)N)r6�processingInstructionrZProcessingInstructionHandler�
charactersZCharacterDataHandler)rrrrr<�szExpatParser._reset_cont_handlercCs`|j}|j}|dkr4d|_d|_d|_d|_d|_n(|j|_|j|_|j	|_|j
|_|j|_dS)N)r.rZCommentHandlerZStartCdataSectionHandlerZEndCdataSectionHandlerZStartDoctypeDeclHandlerZEndDoctypeDeclHandlerZcommentZ
startCDATAZendCDATA�start_doctype_declZendDTD)rZlexrrrrrGsz#ExpatParser._reset_lex_handler_propcCs�|jr>tj|jj�d|jd�|_d|j_|j|j_	|j
|j_n,tj|jj�|jd�|_|j|j_	|j
|j_|j�|j|j_|j|j_|j|j_|j|j_d|_|jr�|j�|j|j_y|j|j_Wntk
r�YnX|jjtj �d|_!g|_"dS)N� )�internr"r)#r-r
rr%ZgetEncodingr2rZnamespace_prefixes�start_element_nsZStartElementHandler�end_element_nsZEndElementHandler�
start_element�end_elementr<�unparsed_entity_declZUnparsedEntityDeclHandler�
notation_declZNotationDeclHandler�start_namespace_declZStartNamespaceDeclHandler�end_namespace_declZEndNamespaceDeclHandlerZ_decl_handler_propr.rG�external_entity_refZExternalEntityRefHandler�skipped_entity_handlerZSkippedEntityHandler�AttributeErrorZSetParamEntityParsingZ*XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONEr/r0)rrrrr5s6







zExpatParser.resetcCs|jdkrdS|jjS)N)rr )rrrrr!;s
zExpatParser.getColumnNumbercCs|jdkrdS|jjS)Nr")rr#)rrrrr$@s
zExpatParser.getLineNumbercCs
|jj�S)N)r%r&)rrrrr&EszExpatParser.getPublicIdcCs
|jj�S)N)r%r')rrrrr'HszExpatParser.getSystemIdcCs|jj|t|��dS)N)r6ZstartElement�AttributesImpl)rr>�attrsrrrr\LszExpatParser.start_elementcCs|jj|�dS)N)r6Z
endElement)rr>rrrr]OszExpatParser.end_elementcCs�|j�}t|�dkrd|f}n&t|�dkr<|d|df}nt|�}i}i}x�|j�D]|\}}|j�}t|�}	|	dkr�|}
d|f}n>|	dkr�d|d|df}
|d|df}n|d}
t|�}|||<|
||<qVW|jj|dt||��dS)Nr"�rz%s:%sr))�split�len�tuple�itemsr6ZstartElementNS�AttributesNSImpl)rr>rf�pairZnewattrsZqnamesZanamerH�partsZlengthZqnameZapairrrrrZRs.


zExpatParser.start_element_nscCsV|j�}t|�dkrd|f}n&t|�dkr<|d|df}nt|�}|jj|d�dS)Nr"rgr)rhrirjr6ZendElementNS)rr>rmrrrr[ts
zExpatParser.end_element_nscCs|jj||�dS)N)r6rU)r�targetrLrrr�processing_instruction�sz"ExpatParser.processing_instructioncCs|jj|�dS)N)r6rV)rrLrrr�character_data�szExpatParser.character_datacCs|jj||�dS)N)r6ZstartPrefixMapping)r�prefixZurirrrr`�sz ExpatParser.start_namespace_declcCs|jj|�dS)N)r6ZendPrefixMapping)rrrrrrra�szExpatParser.end_namespace_declcCs|jj|||�dS)N)r.ZstartDTD)rr>�sysid�pubidZhas_internal_subsetrrrrW�szExpatParser.start_doctype_declcCs|jj||||�dS)N)�_dtd_handlerZunparsedEntityDecl)rr>�basersrtZ
notation_namerrrr^�sz ExpatParser.unparsed_entity_declcCs|jj|||�dS)N)ruZnotationDecl)rr>rvrsrtrrrr_�szExpatParser.notation_declc	Cs�|js
dS|jj||�}tj||jj�p*d�}|jj|j	|jf�|j	j
|�|_	||_ytjj
||�Wn
dS|jd\|_	|_|jd=dS)Nr"rSr���rw)r1Z_ent_handlerZ
resolveEntityrr4r%r'r0�appendrZExternalEntityParserCreaterr,r7)r�contextrvrsrtr9rrrrb�s 
zExpatParser.external_entity_refcCs|rd|}|jj|�dS)N�%)r6Z
skippedEntity)rr>Zis_perrrrc�sz"ExpatParser.skipped_entity_handlerNi��)rr{)r)"rrrrr7r:r;r?rBrFrIrPr8rQr<rGr5r!r$r&r'r\r]rZr[rprqr`rarWr^r_rbrcrrrrr(Ws>


'"r(cOs
t||�S)N)r()�args�kwargsrrr�
create_parser�sr~�__main__z:http://www.ibiblio.org/xml/examples/shakespeare/hamlet.xml),�versionZxml.sax._exceptionsZxml.sax.handlerrrrrrrr	r
�sys�platformZSAXReaderNotAvailableZxml.parsersr
�ImportErrorrEZxml.saxrrrrerl�_weakrefr�weakref�proxyrZLocatorrr,r(r~rZxml.sax.saxutilsZxml�pr;ZsaxZXMLGeneratorZsetErrorHandlerZErrorHandlerr7rrrr�<module>sL


$_