3 Bu_$2@sddlmZmZmZddlmZddlZddlmZddlm Z ddlm Z dd lm Z dd l m Z dd l mZejd ZdddZeeZdS))absolute_importdivisionunicode_literals) text_typeN)copy)base) _ihatexml) constants) namespaces)moduleFactoryFactoryz {([^}]*)}(.*)Fc sjdjGfdddtjGfdddGfdddGfdd 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^||_||_j|j|||_|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-python36-pip-20.2.4-1.el7.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/etree.py__init__s  z)getETreeBuilder..Element.__init__cSs|dkr|}n d||f}|S)Nz{%s}%sr)rrrZ etree_tagrrrr%s z-getETreeBuilder..Element._getETreeTagcSs||_|j|j|j|j_dS)N)rrrrtag)rrrrr_setName,sz)getETreeBuilder..Element._setNamecSs|jS)N)r)rrrr_getName0sz)getETreeBuilder..Element._getNamecSs||_|j|j|j|j_dS)N)rrrrr)rrrrr _setNamespace5sz.getETreeBuilder..Element._setNamespacecSs|jS)N)r)rrrr _getNamespace9sz.getETreeBuilder..Element._getNamespacecSs|jjS)N)rattrib)rrrr_getAttributes>sz/getETreeBuilder..Element._getAttributescSsZ|jj}|j|rVx@|jD]4\}}t|trFd|d|df}n|}|||<qWdS)Nz{%s}%sr r)rr$clearitems isinstancetuple)r attributesZ el_attribkeyvaluerrrr_setAttributesAs z/getETreeBuilder..Element._setAttributescSs|jS)N)r)rrrr_getChildNodesPsz/getETreeBuilder..Element._getChildNodescSs.|jdd=g|_x|D]}|j|qWdS)N)rrZ insertChild)rr,elementrrr_setChildNodesSs  z/getETreeBuilder..Element._setChildNodescSst|jjpt|jS)z,Return true if the node has children or text)boolrtextlen)rrrr hasContent[sz+getETreeBuilder..Element.hasContentcSs$|jj||jj|j||_dS)N)rappendrr)rnoderrr appendChild_s z,getETreeBuilder..Element.appendChildcSs,t|jj|j}|jj||j||_dS)N)listrindexinsertr)rr6refNoder9rrr insertBeforedsz-getETreeBuilder..Element.insertBeforecSs$|jj||jj|jd|_dS)N)rremoverr)rr6rrr removeChildis z,getETreeBuilder..Element.removeChildcSst|js,|jjsd|j_|jj|7_n|dkrb|jdjsLd|jd_|jdj|7_nxt|j}|j|j}|dkr|j|djsd|j|d_|j|dj|7_n |jjsd|j_|jj|7_dS)Nrrr@r@)r3rr2tailr8r9)rdatar<childrenr9rrr insertTextns"     z+getETreeBuilder..Element.insertTextcSs.t||j|j}|jjr*t|jj|j_|S)N)typerrrr$r)rr/rrr cloneNodesz*getETreeBuilder..Element.cloneNodecSsl|jr"|jdjj|jj7_n0|jjs2d|j_|jjdk rR|jj|jj7_d|j_tjj||dS)Nrr?r@) childNodesrrAr2rNodereparentChildren)r newParentrrrrIs z1getETreeBuilder..Element.reparentChildren)N)N)__name__ __module__ __qualname__rrr r!propertyrr"r#rr%r-r*r.r0rGr4r7r<r>rDrFrIr)rrrrs*      rcs2eZdZfddZddZddZeeeZdS)z getETreeBuilder..Commentcs"j||_d|_g|_g|_dS)N)Commentrrrr)rrB)rrrrs z)getETreeBuilder..Comment.__init__cSs|jjS)N)rr2)rrrr_getDatasz)getETreeBuilder..Comment._getDatacSs ||j_dS)N)rr2)rr,rrr_setDatasz)getETreeBuilder..Comment._setDataN)rKrLrMrrPrQrNrBr)rrrrOs rOcsLeZdZfddZddZddZeeeZddZd d Z eee Z d S) z%getETreeBuilder..DocumentTypecs$j|d||j_||_||_dS)Nz )rrr2publicIdsystemId)rrrRrS)rrrrs z.getETreeBuilder..DocumentType.__init__cSs|jjddS)NrRr?)rget)rrrr _getPublicIdsz2getETreeBuilder..DocumentType._getPublicIdcSs|dk r|jjd|dS)NrR)rset)rr,rrr _setPublicIdsz2getETreeBuilder..DocumentType._setPublicIdcSs|jjddS)NrSr?)rrT)rrrr _getSystemIdsz2getETreeBuilder..DocumentType._getSystemIdcSs|dk r|jjd|dS)NrS)rrV)rr,rrr _setSystemIdsz2getETreeBuilder..DocumentType._setSystemIdN) rKrLrMrrUrWrNrRrXrYrSr)rrr DocumentTypes  rZcseZdZfddZdS)z!getETreeBuilder..Documentcsj|ddS)N DOCUMENT_ROOT)r)r)rrrrsz*getETreeBuilder..Document.__init__N)rKrLrMrr)rrrDocumentsr\cseZdZfddZdS)z)getETreeBuilder..DocumentFragmentcsj|ddS)NZDOCUMENT_FRAGMENT)r)r)rrrrsz2getETreeBuilder..DocumentFragment.__init__N)rKrLrMrr)rrrDocumentFragmentsr]cs*gdfdd |ddjS)Nrc st|ds|j}|jdkrz|jds0|jdrd|jdprRrSr?zz r[z #documentz|%s"%s" r zDocument node cannot have tailr$z$Document node cannot have attributesz|%szExpected unicode, got %s, %sz%s %sz|%s<%s>z |%s%s="%s")hasattrgetrootrrTr5r2rA TypeErrorr3r$r(rAssertionErrorrE tag_regexpmatchgroupsr prefixesr'sorted) r/indentrRrSZnsmatchrnsprefixr*r,Z attr_stringchild)ElementTreeCommentTypervserializeElementrrrns^                  " zAgetETreeBuilder..testSerializer..serializeElement )r)join)r/)rl)rmrnrtestSerializers7 z'getETreeBuilder..testSerializercs2gtjfdd|djS)z4Serialize an element and its child nodes to a stringcst|jr|j}|jdkr||jds2|jdrf|jdp>d}|jdpLd}jd|j||fnjd|jfn|jdkr|jdk rj|j|jdk rtdt |d rt |j rtd x|D] }|qWn|jkrjd |jfn|j s$jd j |jfn2d j fdd|j jD}jd|j|f|jrjj|jx|D]}|qpWjd|jf|jrj|jdS)Nz rRrSr?zz r[zDocument node cannot have tailr$z$Document node cannot have attributesz z<%s>r^cs"g|]\}}dj||fqS)z%s="%s") fromXmlName).0rr,)filterrr )szOgetETreeBuilder..tostring..serializeElement..z<%s %s>z)r(rr`rrTr5r2rArar_r3r$rrrpr')r/rRrSrkattr)rrlrtrmrnrrrn s@          z;getETreeBuilder..tostring..serializeElementr?)r Z InfosetFilterrp)r/)rrl)rtrmrnrtostrings -z!getETreeBuilder..tostringcsDeZdZZZZZZZfddZ fddZ ddZ dS)z$getETreeBuilder..TreeBuildercs|S)Nr)rr/)rqrrrqDsz3getETreeBuilder..TreeBuilder.testSerializercs<r |jjS|jdk r*|jjjd|jS|jjjdSdS)Nz{%s}htmlr)documentrdefaultNamespacefind)r)fullTreerr getDocumentGs   z0getETreeBuilder..TreeBuilder.getDocumentcSstjj|jS)N)r TreeBuilder getFragmentr)rrrrr~Qsz0getETreeBuilder..TreeBuilder.getFragmentN) rKrLrM documentClass doctypeClass elementClass commentClass fragmentClassimplementationrqr|r~r)rOr\r]rZrElementTreeImplementationr{rqrrr}<s  r})rOrrrHr}locals)rr{rwr}r) rOr\r]rZrrrlrr{rqrgetETreeBuilders  >6$r)F) __future__rrrZpip._vendor.sixrrerr?rr r r _utilsr compilercrgetETreeModulerrrrs         F