U v_$2@sddlmZmZmZddlmZddlZddlmZddlm Z ddlm Z dd lm Z dd l m Z dd l mZed ZdddZeeZdS))absolute_importdivisionunicode_literals) text_typeN)copy)base) _ihatexml) constants) namespaces)moduleFactoryFactoryz {([^}]*)}(.*)Fc sdjGfdddtjGfdddGfdddGfdd d Gfd d d fd d  fdd}G fdddtj}tS)NZasdcseZdZd$fdd ZddZddZdd ZeeeZd d Z d d Z ee e Z ddZ ddZ ee e ZddZddZeeeZddZddZddZddZd%ddZd d!Zd"d#ZdS)&z getETreeBuilder..ElementNcs^||_||_||||_|dkr:td|jf|_n|j|jf|_d|_g|_g|_ dS)Nhtml) _name _namespaceElement _getETreeTag_elementr nameTupleparent _childNodes_flags)selfname namespace ElementTree/builddir/build/BUILDROOT/alt-python38-pip-20.2.4-1.el7.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/html5lib/treebuilders/etree.py__init__s z)getETreeBuilder..Element.__init__cSs|dkr|}n d||f}|S)N{%s}%sr)rrrZ etree_tagrrrr%s z-getETreeBuilder..Element._getETreeTagcSs||_||j|j|j_dSN)rrrrtag)rrrrr_setName,sz)getETreeBuilder..Element._setNamecSs|jSr!)rrrrr_getName0sz)getETreeBuilder..Element._getNamecSs||_||j|j|j_dSr!)rrrrr")rrrrr _setNamespace5sz.getETreeBuilder..Element._setNamespacecSs|jSr!)rr$rrr _getNamespace9sz.getETreeBuilder..Element._getNamespacecSs|jjSr!)rattribr$rrr_getAttributes>sz/getETreeBuilder..Element._getAttributescSsV|jj}||rR|D]4\}}t|trDd|d|df}n|}|||<qdS)Nr r r)rr(clearitems isinstancetuple)r attributesZ el_attribkeyvaluerrrr_setAttributesAs z/getETreeBuilder..Element._setAttributescSs|jSr!)rr$rrr_getChildNodesPsz/getETreeBuilder..Element._getChildNodescSs*|jdd=g|_|D]}||qdSr!)rrZ insertChild)rr0elementrrr_setChildNodesSs z/getETreeBuilder..Element._setChildNodescSst|jjpt|jS)z,Return true if the node has children or text)boolrtextlenr$rrr hasContent[sz+getETreeBuilder..Element.hasContentcSs$|j||j|j||_dSr!)rappendrrrnoderrr appendChild_s z,getETreeBuilder..Element.appendChildcSs,t|j|j}|j||j||_dSr!)listrindexinsertr)rr;refNoder>rrr insertBeforedsz-getETreeBuilder..Element.insertBeforecSs$|j||j|jd|_dSr!)rremoverrr:rrr removeChildis z,getETreeBuilder..Element.removeChildcSst|js,|jjsd|j_|jj|7_n|dkrb|jdjsLd|jd_|jdj|7_nxt|j}||j}|dkr|j|djsd|j|d_|j|dj|7_n |jjsd|j_|jj|7_dS)Nrr)r7rr6tailr=r>)rdatarAchildrenr>rrr insertTextns"     z+getETreeBuilder..Element.insertTextcSs.t||j|j}|jjr*t|jj|j_|Sr!)typerrrr(rrr3rrr cloneNodesz*getETreeBuilder..Element.cloneNodecSsl|jr"|jdjj|jj7_n0|jjs2d|j_|jjdk rR|jj|jj7_d|j_tj||dS)NrErD) childNodesrrFr6rNodereparentChildren)r newParentrrrrOs z1getETreeBuilder..Element.reparentChildren)N)N)__name__ __module__ __qualname__rrr#r%propertyrr&r'rr)r1r.r2r4rMr8r<rArCrIrLrOrrrrrs*      rcs2eZdZfddZddZddZeeeZdS)z getETreeBuilder..Commentcs"||_d|_g|_g|_dSr!)Commentrrrr)rrGrrrrs z)getETreeBuilder..Comment.__init__cSs|jjSr!rr6r$rrr_getDatasz)getETreeBuilder..Comment._getDatacSs ||j_dSr!rVrr0rrr_setDatasz)getETreeBuilder..Comment._setDataN)rQrRrSrrWrYrTrGrrrrrUs rUcsLeZdZfddZddZddZeeeZddZd d Z eee Z d S) z%getETreeBuilder..DocumentTypecs$|d||j_||_||_dS)N )rrr6publicIdsystemId)rrr[r\rrrrs z.getETreeBuilder..DocumentType.__init__cSs|jddS)Nr[rDrgetr$rrr _getPublicIdsz2getETreeBuilder..DocumentType._getPublicIdcSs|dk r|jd|dS)Nr[rsetrXrrr _setPublicIdsz2getETreeBuilder..DocumentType._setPublicIdcSs|jddS)Nr\rDr^r$rrr _getSystemIdsz2getETreeBuilder..DocumentType._getSystemIdcSs|dk r|jd|dS)Nr\rarXrrr _setSystemIdsz2getETreeBuilder..DocumentType._setSystemIdN) rQrRrSrr`rcrTr[rdrer\rr]rr DocumentTypes  rfcseZdZfddZdS)z!getETreeBuilder..Documentcs|ddS)N DOCUMENT_ROOTrr$r]rrrsz*getETreeBuilder..Document.__init__NrQrRrSrrr]rrDocumentsrjcseZdZfddZdS)z)getETreeBuilder..DocumentFragmentcs|ddS)NZDOCUMENT_FRAGMENTrhr$r]rrrsz2getETreeBuilder..DocumentFragment.__init__Nrirr]rrDocumentFragmentsrkcs*gdfdd |ddS)Nrc st|ds|}|jdkrz|ds0|drd|dp rgz #documentz|%s"%s" r Document node cannot have tailr($Document node cannot have attributesz|%szExpected unicode, got %s, %sz%s %sz|%s<%s>z |%s%s="%s")hasattrgetrootr"r_r9r6rF TypeErrorr7r(r,rAssertionErrorrJ tag_regexpmatchgroupsr prefixesr+sorted) r3indentr[r\Znsmatchrnsprefixr.r0Z attr_stringchild)ElementTreeCommentTypervserializeElementrrrsb                    zAgetETreeBuilder..testSerializer..serializeElement )r)joinr3)r})r~rrtestSerializers7 z'getETreeBuilder..testSerializercs2gtfdd|dS)z4Serialize an element and its child nodes to a stringcst|jr|}|jdkr||ds2|drf|dp>d}|dpLd}d|j||fnd|jfn|jdkr|jdk r|j|jdk rtdt |d rt |j rtd |D] }|qn|jkrd |jfn|j sd  |jfn2d fdd|j D}d|j|f|jrd|j|D]}|qhd|jf|jr|jdS)NrZr[r\rDzrlrgrnr(roz z<%s>rmcs"g|]\}}d||fqS)z%s="%s") fromXmlName).0rr0)filterrr )s zOgetETreeBuilder..tostring..serializeElement..z<%s %s>z)r,rrqr"r_r9r6rFrrrpr7r(rrr+)r3r[r\r|attr)rr}rr~rrrr sD           z;getETreeBuilder..tostring..serializeElementrD)r Z InfosetFilterrr)rr})rr~rrtostrings -z!getETreeBuilder..tostringcsDeZdZZZZZZZfddZ fddZ ddZ dS)z$getETreeBuilder..TreeBuildercs|Sr!rrK)rrrrDsz3getETreeBuilder..TreeBuilder.testSerializercs<r |jjS|jdk r*|jjd|jS|jjdSdS)Nz{%s}htmlr)documentrdefaultNamespacefindr$)fullTreerr getDocumentGs z0getETreeBuilder..TreeBuilder.getDocumentcSstj|jSr!)r TreeBuilder getFragmentrr$rrrrQsz0getETreeBuilder..TreeBuilder.getFragmentN) rQrRrS documentClass doctypeClass elementClass commentClass fragmentClassimplementationrrrr)rUrjrkrfrElementTreeImplementationrrrrr<s  r)rUr"rrNrlocals)rrrrr) rUrjrkrfrrr}rrrrgetETreeBuilders  >6$r)F) __future__rrrZpip._vendor.sixrrerrDrr r r _utilsr compilertrgetETreeModulerrrrs         F