Viewing File: /opt/alt/python35/lib64/python3.5/xml/sax/__pycache__/expatreader.cpython-35.pyc



YfX=@s8dZdZddlTddlmZmZddlmZddlmZmZddlm	Z	ddlm
Z
mZdd	lZej
d	d
dkredd	[ydd
lmZWn!ek
redd	Yn Xeedredd	ddlmZmZmZejZejZydd	lZWnek
rdddZYnXdd	lZejZ[[GdddZGdddejZGdddej ejZ!ddZ"e#dkr4dd	l$Z%e"Z&e&j'e%j(jj)e&j*e%j(j+e&j,dd	S)z]
SAX driver for the pyexpat C module.  This driver works with
pyexpat.__version__ == '2.22'.
z0.20)*)feature_validationfeature_namespaces)feature_namespace_prefixes)feature_external_gesfeature_external_pes)feature_string_interning)property_xml_stringproperty_interning_dictNjavazexpat not available in Java)expatzexpat not supportedParserCreate)	xmlreadersaxutilshandlercCs|S)N)orr8/opt/alt/python35/lib64/python3.5/xml/sax/expatreader.py_mkproxy'src@seZdZdS)
_ClosedParserN)__name__
__module____qualname__rrrrr.src@sReZdZdZddZddZddZdd	Zd
dZdS)
ExpatLocatorzLocator for use with the ExpatParser class.

    This uses a weak reference to the parser object to avoid creating
    a circular reference between the parser and the content handler.
    cCst||_dS)N)r_ref)selfparserrrr__init__9szExpatLocator.__init__cCs&|j}|jdkrdS|jjS)N)r_parserErrorColumnNumber)rrrrrgetColumnNumber<s	zExpatLocator.getColumnNumbercCs&|j}|jdkrdS|jjS)N)rrErrorLineNumber)rrrrr
getLineNumberBs	zExpatLocator.getLineNumbercCs&|j}|dkrdS|jjS)N)r_sourcegetPublicId)rrrrrr&Hs	zExpatLocator.getPublicIdcCs&|j}|dkrdS|jjS)N)rr%getSystemId)rrrrrr'Ns	zExpatLocator.getSystemIdN)	rrr__doc__rr!r$r&r'rrrrr3src@seZdZdZddFddZdd	Zd
dZdd
ZddZddZ	ddZ
ddZdddZddZ
ddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Zd:d;Zd<d=Zd>d?Z d@dAZ!dBdCZ"dDS)GExpatParserz$SAX driver for the pyexpat C module.rcCsetjj||tj|_d|_||_d|_d|_g|_	d|_
d|_dS)Nrr")rIncrementalParserrZInputSourcer%r_namespaces_lex_handler_prop_parsing
_entity_stack
_external_ges
_interning)rZnamespaceHandlingbufsizerrrrZs						zExpatParser.__init__c	Csktj|}||_y7|j|jjt|tjj	||Wn|j
YnXdS)z3Parse an XML document from a URL or an InputSource.N)rprepare_input_sourcer%reset
_cont_handlerZsetDocumentLocatorrrr-parse
_close_source)rsourcerrrr8gs	

zExpatParser.parsecCs,|jdk	r(|jj|jdS)N)r'rZSetBase)rr:rrr
prepareParserwszExpatParser.prepareParsercCs*tjj|||jr&|jdS)N)rr-setContentHandlerr0_reset_cont_handler)rrrrrr<}s	zExpatParser.setContentHandlercCsl|tkr|jS|tkr,|jdk	S|tttfkrEdS|tkrX|jSt	d|dS)NrzFeature '%s' not recognized)
rr.rr3rrrrr2SAXNotRecognizedException)rnamerrr
getFeatures
	zExpatParser.getFeaturecCs|jrtd|tkr-||_n|tkrE||_n|tkr~|rr|jdkr{i|_qd|_ns|tkr|rtdnR|t	kr|rtdn1|t
kr|rtdntd|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)r0SAXNotSupportedExceptionrr.rr2rr3rrrr>)rr?staterrr
setFeatures2	zExpatParser.setFeaturecCs|tjkr|jS|tkr)|jS|tkrx|jrlt|jdr]|jjSt	dnt
dt	d|dS)NGetInputContextz=This version of expat does not support getting the XML stringz.XML string cannot be returned when not parsingzProperty '%s' not recognized)rproperty_lexical_handlerr/r
r3r	rhasattrrDr>rA)rr?rrrgetPropertys	
	zExpatParser.getPropertycCsy|tjkr.||_|jru|jnG|tkrF||_n/|tkretd|nt	d|dS)NzProperty '%s' cannot be setzProperty '%s' not recognized)
rrEr/r0_reset_lex_handler_propr
r3r	rAr>)rr?valuerrrsetPropertys		

zExpatParser.setPropertycCs|js)|jd|_|jjy|jj||WnVtjk
r}z3ttj	|j
||}|jj|WYdd}~XnXdS)Nr")
r0r6r7Z
startDocumentrZParser
errorZSAXParseExceptionZErrorStringcodeZ_err_handlerZ
fatalError)rdataisFinaleexcrrrfeeds	
	
zExpatParser.feedcCsY|j}z&|j}|dk	r.|jWd|j}|dk	rT|jXdS)N)r%ZgetCharacterStreamcloseZ
getByteStream)rr:filerrrr9s	zExpatParser._close_sourcecCs|js*|jdks*t|jtr.dSz6|jddd|jjd|_d|_Wdd|_|jdk	rt}|jj|_|jj	|_	||_|j
XdS)NrNr"r)r1r
isinstancerrQr7ZendDocumentr0r r#r9)rrrrrrRs
	
			zExpatParser.closecCs(|jj|j_|jj|j_dS)N)r7processingInstructionrZProcessingInstructionHandler
charactersZCharacterDataHandler)rrrrr=szExpatParser._reset_cont_handlercCs|j}|j}|dkrNd|_d|_d|_d|_d|_n<|j|_|j|_|j	|_|j
|_|j|_dS)N)r/rZCommentHandlerZStartCdataSectionHandlerZEndCdataSectionHandlerZStartDoctypeDeclHandlerZEndDoctypeDeclHandlerZcommentZ
startCDATAZendCDATAstart_doctype_declZendDTD)rZlexrrrrrHs						z#ExpatParser._reset_lex_handler_propcCsa|jr]tj|jjdd|j|_d|j_|j|j_	|j
|j_nBtj|jjd|j|_|j|j_	|j
|j_|j|j|j_|j|j_|j|j_|j|j_d|_|jr|j|j|j_y|j|j_Wntk
r7YnX|jjtj d|_!g|_"dS)N internr"r)#r.r
rr%ZgetEncodingr3rZnamespace_prefixesstart_element_nsZStartElementHandlerend_element_nsZEndElementHandler
start_elementend_elementr=unparsed_entity_declZUnparsedEntityDeclHandler
notation_declZNotationDeclHandlerstart_namespace_declZStartNamespaceDeclHandlerend_namespace_declZEndNamespaceDeclHandlerZ_decl_handler_propr/rHexternal_entity_refZExternalEntityRefHandlerskipped_entity_handlerZSkippedEntityHandlerAttributeErrorZSetParamEntityParsingZ*XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONEr0r1)rrrrr6s6	
		

	
	zExpatParser.resetcCs|jdkrdS|jjS)N)rr )rrrrr!;szExpatParser.getColumnNumbercCs|jdkrdS|jjS)Nr")rr#)rrrrr$@szExpatParser.getLineNumbercCs
|jjS)N)r%r&)rrrrr&EszExpatParser.getPublicIdcCs
|jjS)N)r%r')rrrrr'HszExpatParser.getSystemIdcCs|jj|t|dS)N)r7ZstartElementAttributesImpl)rr?attrsrrrr]LszExpatParser.start_elementcCs|jj|dS)N)r7Z
endElement)rr?rrrr^OszExpatParser.end_elementcCsL|j}t|dkr-d|f}n5t|dkrV|d|df}nt|}i}i}x|jD]\}}|j}t|}	|	dkr|}
d|f}nQ|	dkrd|d|df}
|d|df}n|d}
t|}|||<|
||<q{W|jj|dt||dS)Nr"rz%s:%sr*)splitlentupleitemsr7ZstartElementNSAttributesNSImpl)rr?rgpairZnewattrsZqnamesZanamerIpartsZlengthZqnameZapairrrrr[Rs.

zExpatParser.start_element_nscCsy|j}t|dkr-d|f}n5t|dkrV|d|df}nt|}|jj|ddS)Nr"rhr)rirjrkr7ZendElementNS)rr?rnrrrr\tszExpatParser.end_element_nscCs|jj||dS)N)r7rV)rtargetrMrrrprocessing_instructionsz"ExpatParser.processing_instructioncCs|jj|dS)N)r7rW)rrMrrrcharacter_dataszExpatParser.character_datacCs|jj||dS)N)r7ZstartPrefixMapping)rprefixZurirrrrasz ExpatParser.start_namespace_declcCs|jj|dS)N)r7ZendPrefixMapping)rrsrrrrbszExpatParser.end_namespace_declcCs|jj|||dS)N)r/ZstartDTD)rr?sysidpubidZhas_internal_subsetrrrrXszExpatParser.start_doctype_declcCs|jj||||dS)N)_dtd_handlerZunparsedEntityDecl)rr?basertruZ
notation_namerrrr_sz ExpatParser.unparsed_entity_declcCs|jj|||dS)N)rvZnotationDecl)rr?rwrtrurrrr`szExpatParser.notation_declc	Cs|js
dS|jj||}tj||jjp=d}|jj|j	|jf|j	j
||_	||_ytjj
||WndSYnX|jd\|_	|_|jd=dS)Nr"rTrrx)r2Z_ent_handlerZ
resolveEntityrr5r%r'r1appendrZExternalEntityParserCreaterr-r8)rcontextrwrtrur:rrrrcs 					
zExpatParser.external_entity_refcCs$|rd|}|jj|dS)N%)r7Z
skippedEntity)rr?Zis_perrrrds
z"ExpatParser.skipped_entity_handlerNii)#rrrr(rr8r;r<r@rCrGrJrQr9rRr=rHr6r!r$r&r'r]r^r[r\rqrrrarbrXr_r`rcrdrrrrr)Ws@
'"r)cOs
t||S)N)r))argskwargsrrr
create_parsersr~__main__z:http://www.ibiblio.org/xml/examples/shakespeare/hamlet.xml)-r(versionZxml.sax._exceptionsZxml.sax.handlerrrrrrrr	r
sysplatformZSAXReaderNotAvailableZxml.parsersr
ImportErrorrFZxml.saxrrrrfrm_weakrefrweakrefproxyrZLocatorrr-r)r~rZxml.sax.saxutilsZxmlpr<ZsaxZXMLGeneratorZsetErrorHandlerZErrorHandlerr8rrrr<module>sL

		
	$^	
Back to Directory File Manager