a DOg.@sddlZddlZdZdZdZdZdZdZdZ d Z Gd d d ej j Z Gd d d ZGdddZGddde ZdZdddZdddZdS)N START_ELEMENT END_ELEMENTCOMMENTSTART_DOCUMENT END_DOCUMENTPROCESSING_INSTRUCTIONIGNORABLE_WHITESPACE CHARACTERSc@seZdZdZdZd$ddZddZddZdd Zd d Z d d Z ddZ ddZ ddZ ddZddZddZddZddZddZd d!Zd"d#ZdS)%PullDOMNcCsxddlm}||_ddg|_|j|_g|_|jj|_z|jj|_Wnt yTYn0|dig|_ |j d|_ g|_ dS)Nr) XML_NAMESPACExml) Zxml.domr documentFactory firstEvent lastEvent elementStackappendpushpopAttributeError _ns_contexts_current_contextpending_events)selfrr r4/opt/alt/python39/lib64/python3.9/xml/dom/pulldom.py__init__s      zPullDOM.__init__cCs|jd}|jd=|SNr )r)rresultrrrr!s z PullDOM.popcCs ||_dSN)_locator)rZlocatorrrrsetDocumentLocator&szPullDOM.setDocumentLocatorcCsHt|dsg|_|j|pd|f|j|j|pr?rCrGrKrLrNr.rTrUrrrrr s& 9  r c@s$eZdZddZddZddZdS) ErrorHandlercCs t|dSr)printrZ exceptionrrrwarningszErrorHandler.warningcCs|dSrrr[rrrerrorszErrorHandler.errorcCs|dSrrr[rrr fatalErrorszErrorHandler.fatalErrorN)rVrWrXr\r]r^rrrrrYsrYc@s\eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS)DOMEventStreamcCs2||_||_||_t|jds&|j|_|dS)Nfeed)streamparserbufsizer$_slurpgetEventreset)rrarbrcrrrrs  zDOMEventStream.__init__cCs.t|_|jtjjjd|j|jdSr;) r pulldomrbZ setFeaturer saxZhandlerZfeature_namespacesZsetContentHandlerrSrrrrfszDOMEventStream.resetcCs0ddl}|jdtdd|}|r(|StdS)Nrz[DOMEventStream's __getitem__ method ignores 'pos' parameter. Use iterator protocol instead.) stacklevel)warningswarnDeprecationWarningre IndexError)rposrkrcrrr __getitem__szDOMEventStream.__getitem__cCs|}|r|StdSr)re StopIterationrrprrr__next__szDOMEventStream.__next__cCs|SrrrSrrr__iter__szDOMEventStream.__iter__cCsl|}|g}|rh|\}}||ur&dS|tkr<|d||tkrP||n|tkr^|d=|}qdSr)rer appendChildrr)rr8rBparentstokenZcur_noderrr expandNodes zDOMEventStream.expandNodecCs~|jjds|jj|j_|jjdsR|j|j}|sD|jdS|j|q|jjdd}|jjdd|jjd<|SNr+r) rgrrrareadrcrbcloser`)rbufrprrrres    zDOMEventStream.getEventcCs|j|j|j|_|Sr)rbparsera_emitrerSrrrrdszDOMEventStream._slurpcCs,|jjdd}|jjdd|jjd<|Srz)rgrrsrrrrszDOMEventStream._emitcCs|j|`d|_d|_dSr)rgrUrbrarSrrrrU!s zDOMEventStream.clearN) rVrWrXrrfrqrtruryrerdrrUrrrrr_s  r_c@s4eZdZddZddZddZddZd d Zd S) SAX2DOMcCs2t|||||jd}|jd}||dSNr )r r:rrv)rr4r5r6curNode parentNoderrrr:*s  zSAX2DOM.startElementNScCs0t||||jd}|jd}||dSr)r r>rrv)rr4r6rrrrrr>0s  zSAX2DOM.startElementcCs4t||||jdd}|jd}||dSNrr+r )r rGrrrv)rrErFr8rrrrrG6s zSAX2DOM.processingInstructioncCs2t|||jdd}|jd}||dSr)r rKrrrvrrJr8rrrrrK<s  zSAX2DOM.ignorableWhitespacecCs2t|||jdd}|jd}||dSr)r rLrrrvrrrrrLBs  zSAX2DOM.charactersN)rVrWrXr:r>rGrKrLrrrrr(s ri?cCs@|dur t}t|tr"t|d}n|}|s4tj}t|||S)Nrb)default_bufsize isinstancestropenr rh make_parserr_)Zstream_or_stringrbrcrarrrr~Ks   r~cCs6ddlm}t|}||}|s*tj}t|||S)Nr)StringIO)iorlenr rhrr_)stringrbrrcr}rrr parseStringVs   r)NN)N)Zxml.saxr Zxml.sax.handlerrrrrrrrr rhZContentHandlerr rYr_rrr~rrrrrs"8\!