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



°ÕYfñ-ã@sËddlZddlZdZdZdZdZdZdZdZ	d	Z
Gd
d„dejjƒZ
Gdd
„d
ƒZGdd„dƒZGdd„de
ƒZdZdddd„Zddd„ZdS)éNÚ
START_ELEMENTÚEND_ELEMENTÚCOMMENTÚSTART_DOCUMENTÚEND_DOCUMENTÚPROCESSING_INSTRUCTIONÚIGNORABLE_WHITESPACEÚ
CHARACTERSc@sëeZdZdZdZddd„Zdd„Zdd„Zdd	„Zd
d„Z	dd
„Z
dd„Zdd„Zdd„Z
dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„ZdS)$ÚPullDOMNcCs£ddlm}||_ddg|_|j|_g|_|jj|_y|jj|_Wnt	k
rsYnX|dig|_
|j
d|_g|_dS)Nr)Ú
XML_NAMESPACEÚxmlééÿÿÿÿ)
Zxml.domrÚdocumentFactoryÚ
firstEventÚ	lastEventÚelementStackÚappendÚpushÚpopÚAttributeErrorÚ_ns_contextsÚ_current_contextÚpending_events)Úselfrr©rú4/opt/alt/python35/lib64/python3.5/xml/dom/pulldom.pyÚ__init__s		
zPullDOM.__init__cCs|jd}|jd=|S)Nr
rr)r)rÚresultrrrr!s

zPullDOM.popcCs
||_dS)N)Ú_locator)rZlocatorrrrÚsetDocumentLocator&szPullDOM.setDocumentLocatorcCsdt|dƒsg|_|jj|p*d|fƒ|jj|jjƒƒ|pVd|j|<dS)NÚ_xmlns_attrsÚxmlns)Úhasattrr!rrrÚcopy)rÚprefixÚurirrrÚstartPrefixMapping)s
	zPullDOM.startPrefixMappingcCs|jjƒ|_dS)N)rrr)rr%rrrÚendPrefixMapping0szPullDOM.endPrefixMappingcCs5d}t|ddƒ}|dk	rWx'|D]\}}||j||f<q+Wg|_|\}}	|rÕ|dkrŸ|j|}
|
r™|
d|	}n|	}|jrÀ|jj||ƒ}q|j||ƒ}n0|jró|jj|	ƒ}n|jd|	ƒ}xó|jƒD]å\}}|\}}
||krz|
dkrK|
}n
d|
}|jj	||ƒ}|j
|ƒnt|rÏ|j|}
|
r¤|
d|
}n|
}|jj	||ƒ}|j
|ƒn|jj|
ƒ}|j|ƒ||_
qWt|fdg|jd<|jd|_|j|ƒdS)Nzhttp://www.w3.org/2000/xmlns/r!ú:r"zxmlns:r
)ÚgetattrZ_attrsr!rÚdocumentZcreateElementNSÚ
buildDocumentÚ
createElementÚitemsZcreateAttributeNSZsetAttributeNodeNSÚcreateAttributeÚsetAttributeNodeÚvaluerrr)rÚnameÚtagNameÚattrsZ	xmlns_uriZxmlns_attrsÚanamer1r&Z	localnamer%ÚnodeZa_uriZa_localnameZqnameÚattrrrrÚstartElementNS3sP	
			



zPullDOM.startElementNScCs3t|jƒfdg|jd<|jd|_dS)Nr
)rrr)rr2r3rrrÚendElementNSlszPullDOM.endElementNScCs¯|jr|jj|ƒ}n|jd|ƒ}xB|jƒD]4\}}|jj|ƒ}||_|j|ƒq=Wt|fdg|jd<|jd|_|j	|ƒdS)Nr
)
r+r-r,r.r/r1r0rrr)rr2r4r6r5r1r7rrrÚstartElementps		zPullDOM.startElementcCs3t|jƒfdg|jd<|jd|_dS)Nr
)rrr)rr2rrrÚ
endElementszPullDOM.endElementcCsm|jrG|jj|ƒ}t|fdg|jd<|jd|_n"t|fdg}|jj|ƒdS)Nr
)r+Ú
createCommentrrrr)rÚsr6ÚeventrrrÚcommentƒs	zPullDOM.commentcCss|jrJ|jj||ƒ}t|fdg|jd<|jd|_n%t||fdg}|jj|ƒdS)Nr
)r+ÚcreateProcessingInstructionrrrr)rÚtargetÚdatar6r>rrrÚprocessingInstructionŒs	zPullDOM.processingInstructioncCs?|jj|ƒ}t|fdg|jd<|jd|_dS)Nr
)r+ÚcreateTextNoderr)rÚcharsr6rrrÚignorableWhitespace•szPullDOM.ignorableWhitespacecCs?|jj|ƒ}t|fdg|jd<|jd|_dS)Nr
)r+rDr	r)rrEr6rrrÚ
charactersšszPullDOM.characterscCs4|jdkr0ddl}|jjjj|_dS)Nr)rZxml.dom.minidomZdomZminidomZDocumentÚimplementation)rrrrrÚ
startDocumentŸszPullDOM.startDocumentc	Cs8|jj||dƒ}||_t|fdg|jd<|jd|_|j|ƒxÎ|jD]Ã}|ddtkr¶|d\}}}|jj||ƒ}t|f|d<nX|ddt	kr÷|jj
|ddƒ}t	|f|d<ntd|ddƒ‚||jd<||_qaWd|_|jS)Nr
rzUnknown pending event )
rZcreateDocumentr+rrrrrr@rr<ÚAssertionErrorZ
firstChild)	rr&Ztagnamer6ÚeÚ_rArBÚnrrrr,¤s$	


	zPullDOM.buildDocumentcCs*t|jfdg|jd<|jƒdS)Nr
)rr+rr)rrrrÚendDocument¼szPullDOM.endDocumentcCs
d|_dS)z.clear(): Explicitly release parsing structuresN)r+)rrrrÚclearÀsz
PullDOM.clear)Ú__name__Ú
__module__Ú__qualname__rr+rrr r'r(r8r9r:r;r?rCrFrGrIr,rNrOrrrrr

s&9		r
c@s4eZdZdd„Zdd„Zdd„ZdS)ÚErrorHandlercCst|ƒdS)N)Úprint)rÚ	exceptionrrrÚwarningÅszErrorHandler.warningcCs
|‚dS)Nr)rrUrrrÚerrorÇszErrorHandler.errorcCs
|‚dS)Nr)rrUrrrÚ
fatalErrorÉszErrorHandler.fatalErrorN)rPrQrRrVrWrXrrrrrSÄsrSc@sˆeZdZdd„Zdd„Zdd„Zdd„Zd	d
„Zdd„Zd
d„Z	dd„Z
dd„Zdd„ZdS)ÚDOMEventStreamcCsG||_||_||_t|jdƒs9|j|_|jƒdS)NÚfeed)ÚstreamÚparserÚbufsizer#Ú_slurpÚgetEventÚreset)rr[r\r]rrrrÍs			zDOMEventStream.__init__cCs?tƒ|_|jjtjjjdƒ|jj|jƒdS)Nr
)	r
Úpulldomr\Z
setFeaturerÚsaxZhandlerZfeature_namespacesZsetContentHandler)rrrrr`ÕszDOMEventStream.resetcCs |jƒ}|r|St‚dS)N)r_Ú
IndexError)rÚposÚrcrrrÚ__getitem__ÛszDOMEventStream.__getitem__cCs |jƒ}|r|St‚dS)N)r_Ú
StopIteration)rrerrrÚ__next__ászDOMEventStream.__next__cCs|S)Nr)rrrrÚ__iter__çszDOMEventStream.__iter__cCsš|jƒ}|g}x~|r•|\}}||kr:dS|tkrW|dj|ƒ|tkrs|j|ƒn|tkr†|d=|jƒ}qWdS)Nr
rr)r_rÚappendChildrr)rr6r>ÚparentsÚtokenZcur_noderrrÚ
expandNodeês		zDOMEventStream.expandNodecCs«|jjds"|jj|j_xP|jjdst|jj|jƒ}|sa|jjƒdS|jj|ƒq%W|jjdd}|jjdd|jjd<|S)Nr
r)	rarrr[Úreadr]r\ÚcloserZ)rÚbufrerrrr_ùs
zDOMEventStream.getEventcCs)|jj|jƒ|j|_|jƒS)zå Fallback replacement for getEvent() using the
            standard SAX2 interface, which means we slurp the
            SAX events into memory (no performance gain, but
            we are compatible to all SAX parsers).
        )r\Úparser[Ú_emitr_)rrrrr^szDOMEventStream._slurpcCs6|jjdd}|jjdd|jjd<|S)zn Fallback replacement for getEvent() that emits
            the events that _slurp() read previously.
        r
r)rar)rrerrrrrszDOMEventStream._emitcCs)|jjƒ|`d|_d|_dS)z+clear(): Explicitly release parsing objectsN)rarOr\r[)rrrrrOs
	zDOMEventStream.clearN)
rPrQrRrr`rfrhrirmr_r^rrrOrrrrrYÌs
rYc@sLeZdZdd„Zdd„Zdd„Zdd„Zd	d
„ZdS)ÚSAX2DOMcCsAtj||||ƒ|jd}|jd}|j|ƒdS)Nr
éréþÿÿÿ)r
r8rrj)rr2r3r4ÚcurNodeÚ
parentNoderrrr8#s

zSAX2DOM.startElementNScCs>tj|||ƒ|jd}|jd}|j|ƒdS)Nr
rtrru)r
r:rrj)rr2r4rvrwrrrr:)s

zSAX2DOM.startElementcCsBtj|||ƒ|jdd}|jd}|j|ƒdS)Nrr
r)r
rCrrrj)rrArBr6rwrrrrC/s
zSAX2DOM.processingInstructioncCs?tj||ƒ|jdd}|jd}|j|ƒdS)Nrr
r)r
rFrrrj)rrEr6rwrrrrF5s
zSAX2DOM.ignorableWhitespacecCs?tj||ƒ|jdd}|jd}|j|ƒdS)Nrr
r)r
rGrrrj)rrEr6rwrrrrG;s
zSAX2DOM.charactersN)rPrQrRr8r:rCrFrGrrrrrs!s
rsrtéécCs^|dkrt}t|tƒr3t|dƒ}n|}|sNtjjƒ}t|||ƒS)NÚrb)Údefault_bufsizeÚ
isinstanceÚstrÚopenrrbÚmake_parserrY)Zstream_or_stringr\r]r[rrrrqDsrqcCsMddlm}t|ƒ}||ƒ}|s=tjjƒ}t|||ƒS)Nr)ÚStringIO)Úior€ÚlenrrbrrY)Ústringr\r€r]rprrrÚparseStringOsr„i@iì?)Zxml.saxrZxml.sax.handlerrrrrrrrr	rbZContentHandlerr
rSrYrsr{rqr„rrrrÚ<module>s ·U!
Back to Directory File Manager