Viewing File: /opt/alt/python38/lib64/python3.8/xml/dom/__pycache__/pulldom.cpython-38.pyc

U

,a.@sddlZddlZdZdZdZdZdZdZdZ	d	Z
Gd
ddejjZ
Gdd
d
ZGdddZGddde
ZdZdddZdddZdS)N
START_ELEMENTEND_ELEMENTCOMMENTSTART_DOCUMENTEND_DOCUMENTPROCESSING_INSTRUCTIONIGNORABLE_WHITESPACE
CHARACTERSc@seZdZdZdZd$ddZddZddZdd	Zd
dZ	dd
Z
ddZddZddZ
ddZddZddZddZddZddZd d!Zd"d#ZdS)%PullDOMNcCszddlm}||_ddg|_|j|_g|_|jj|_z|jj|_Wnt	k
rVYnX|dig|_
|j
d|_g|_dS)Nr)
XML_NAMESPACExml)
Zxml.domrdocumentFactory
firstEvent	lastEventelementStackappendpushpopAttributeError_ns_contexts_current_contextpending_events)selfrrr4/opt/alt/python38/lib64/python3.8/xml/dom/pulldom.py__init__s

zPullDOM.__init__cCs|jd}|jd=|SNr
)r)rresultrrrr!s
zPullDOM.popcCs
||_dSN)_locator)rZlocatorrrrsetDocumentLocator&szPullDOM.setDocumentLocatorcCsHt|dsg|_|j|pd|f|j|j|p<d|j|<dS)N_xmlns_attrsxmlns)hasattrr"rrrcopy)rprefixurirrrstartPrefixMapping)s

zPullDOM.startPrefixMappingcCs|j|_dSr)rrr)rr&rrrendPrefixMapping0szPullDOM.endPrefixMappingcCsd}t|dd}|dk	r:|D]\}}||j||f<qg|_|\}}	|r|dkrn|j|}
|
rj|
d|	}n|	}|jr|j||}q|||}n |jr|j|	}n|d|	}|D]\}}|\}}
||kr|
dkr|
}nd|
}|j	||}|
|nX|rF|j|}
|
r(|
d|
}n|
}|j	||}|
|n|j|
}||||_
qt|fdg|jd<|jd|_||dS)Nzhttp://www.w3.org/2000/xmlns/r":r#zxmlns:)getattr_attrsr"rdocumentZcreateElementNS
buildDocument
createElementitemsZcreateAttributeNSZsetAttributeNodeNScreateAttributesetAttributeNodevaluerrr)rnametagNameattrsZ	xmlns_uriZxmlns_attrsanamer4r'Z	localnamer&nodeZa_uriZa_localnameZqnameattrrrrstartElementNS3sP



zPullDOM.startElementNScCs&t|fdg|jd<|jd|_dSNr+rrr)rr5r6rrrendElementNSlszPullDOM.endElementNScCsz|jr|j|}n|d|}|D]$\}}|j|}||_||q(t|fdg|jd<|jd|_|	|dSr<)
r.r0r/r1r2r4r3rrr)rr5r7r9r8r4r:rrrstartElementpszPullDOM.startElementcCs&t|fdg|jd<|jd|_dSr<r=)rr5rrr
endElementszPullDOM.endElementcCsN|jr2|j|}t|fdg|jd<|jd|_nt|fdg}|j|dSr<)r.
createCommentrrrr)rsr9eventrrrcommentszPullDOM.commentcCsR|jr4|j||}t|fdg|jd<|jd|_nt||fdg}|j|dSr<)r.createProcessingInstructionrrrr)rtargetdatar9rCrrrprocessingInstructionszPullDOM.processingInstructioncCs.|j|}t|fdg|jd<|jd|_dSr<)r.createTextNoderrrcharsr9rrrignorableWhitespaceszPullDOM.ignorableWhitespacecCs.|j|}t|fdg|jd<|jd|_dSr<)r.rIr	rrJrrr
charactersszPullDOM.characterscCs$|jdkr ddl}|jjjj|_dS)Nr)rZxml.dom.minidomZdomZminidomZDocumentimplementation)rrrrr
startDocuments
zPullDOM.startDocumentc	Cs|j||d}||_t|fdg|jd<|jd|_|||jD]}|ddtkr|d\}}}|j||}t|f|d<nD|ddt	kr|j
|dd}t	|f|d<ntd|dd||jd<||_qDd|_|jS)Nr+rzUnknown pending event )
rZcreateDocumentr.rrrrrrErrAAssertionErrorZ
firstChild)	rr'Ztagnamer9e_rFrGnrrrr/s$


zPullDOM.buildDocumentcCs t|jfdg|jd<|dSr<)rr.rrrrrrendDocumentszPullDOM.endDocumentcCs
d|_dS)z.clear(): Explicitly release parsing structuresN)r.rTrrrclearsz
PullDOM.clear)N)__name__
__module____qualname__r r.rrr!r(r)r;r>r?r@rDrHrLrMrOr/rUrVrrrrr

s&
9		r
c@s$eZdZddZddZddZdS)ErrorHandlercCst|dSr)printrZ	exceptionrrrwarningszErrorHandler.warningcCs|dSrrr\rrrerrorszErrorHandler.errorcCs|dSrrr\rrr
fatalErrorszErrorHandler.fatalErrorN)rWrXrYr]r^r_rrrrrZsrZc@s\eZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZdS)DOMEventStreamcCs2||_||_||_t|jds&|j|_|dS)Nfeed)streamparserbufsizer$_slurpgetEventreset)rrbrcrdrrrrszDOMEventStream.__init__cCs.t|_|jtjjjd|j|jdSr<)	r
pulldomrcZ
setFeaturersaxZhandlerZfeature_namespacesZsetContentHandlerrTrrrrgszDOMEventStream.resetcCs0ddl}|jdtdd|}|r(|StdS)Nrz[DOMEventStream's __getitem__ method ignores 'pos' parameter. Use iterator protocol instead.)
stacklevel)warningswarnDeprecationWarningrf
IndexError)rposrlrcrrr__getitem__szDOMEventStream.__getitem__cCs|}|r|StdSr)rf
StopIterationrrqrrr__next__szDOMEventStream.__next__cCs|SrrrTrrr__iter__szDOMEventStream.__iter__cCsl|}|g}|rh|\}}||kr&dS|tkr<|d||tkrP||n|tkr^|d=|}qdSr)rfrappendChildrr)rr9rCparentstokenZcur_noderrr
expandNodeszDOMEventStream.expandNodecCs~|jjds|jj|j_|jjdsR|j|j}|sD|jdS|j|q|jjdd}|jjdd|jjd<|S)Nr+r)	rhrrrbreadrdrcclosera)rbufrqrrrrfs
zDOMEventStream.getEventcCs|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).
        )rcparserb_emitrfrTrrrreszDOMEventStream._slurpcCs,|jjdd}|jjdd|jjd<|S)zn Fallback replacement for getEvent() that emits
            the events that _slurp() read previously.
        r+r)rhrrtrrrrszDOMEventStream._emitcCs|j|`d|_d|_dS)z+clear(): Explicitly release parsing objectsN)rhrVrcrbrTrrrrV!s
zDOMEventStream.clearN)
rWrXrYrrgrrrurvrzrfrerrVrrrrr`s

r`c@s4eZdZddZddZddZddZd	d
ZdS)SAX2DOMcCs2t|||||jd}|jd}||dSNr
)r
r;rrw)rr5r6r7curNode
parentNoderrrr;*s

zSAX2DOM.startElementNScCs0t||||jd}|jd}||dSr)r
r?rrw)rr5r7rrrrrr?0s

zSAX2DOM.startElementcCs4t||||jdd}|jd}||dSNrr+r
)r
rHrrrw)rrFrGr9rrrrrH6s
zSAX2DOM.processingInstructioncCs2t|||jdd}|jd}||dSr)r
rLrrrwrrKr9rrrrrL<s
zSAX2DOM.ignorableWhitespacecCs2t|||jdd}|jd}||dSr)r
rMrrrwrrrrrMBs
zSAX2DOM.charactersN)rWrXrYr;r?rHrLrMrrrrr(s
ri?cCs@|dkrt}t|tr"t|d}n|}|s4tj}t|||S)Nrb)default_bufsize
isinstancestropenrrimake_parserr`)Zstream_or_stringrcrdrbrrrr~Ks

r~cCs6ddlm}t|}||}|s*tj}t|||S)Nr)StringIO)iorlenrrirr`)stringrcrrdr}rrrparseStringVs
r)NN)N)Zxml.saxrZxml.sax.handlerrrrrrrrr	riZContentHandlerr
rZr`rrr~rrrrr<module>s"8\!

Back to Directory File Manager