t_$2@sddlmZmZmZddlmZddlZddlmZddlm Z ddlm Z dd lm Z dd l m Z dd l mZejd Zd ddZeeZdS))absolute_importdivisionunicode_literals) text_typeN)copy)base) _ihatexml) constants) namespaces)moduleFactoryFactoryz {([^}]*)}(.*)Fc s jdjGfdddtjGfdddGfdddGfdd d Gfd d d fd d fdd}G fdddtj}tS)NZasdcs$eZdZdfddZddZddZdd ZeeeZd d Z d d Z ee e Z ddZ ddZ ee e ZddZddZeeeZddZddZddZddZdddZd d!Zd"d#ZdS)$z getETreeBuilder..ElementNcs||_||_j|j|||_|dkrUtd|jf|_n|j|jf|_d|_g|_g|_ dS)Nhtml) _name _namespaceElement _getETreeTag_elementr nameTupleparent _childNodes_flags)selfname namespace) ElementTree/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-1.el7.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/html5lib/treebuilders/etree.py__init__s     z)getETreeBuilder..Element.__init__cSs)|dkr|}nd||f}|S)Nz{%s}%sr)rrrZ etree_tagrrrr%s  z-getETreeBuilder..Element._getETreeTagcSs+||_|j|j|j|j_dS)N)rrrrtag)rrrrr_setName,s z)getETreeBuilder..Element._setNamecSs|jS)N)r)rrrr_getName0sz)getETreeBuilder..Element._getNamecSs+||_|j|j|j|j_dS)N)rrrrr)rrrrr _setNamespace5s z.getETreeBuilder..Element._setNamespacecSs|jS)N)r)rrrr _getNamespace9sz.getETreeBuilder..Element._getNamespacecSs |jjS)N)rattrib)rrrr_getAttributes>sz/getETreeBuilder..Element._getAttributescSsw|jj}|j|rsxT|jD]F\}}t|tr_d|d|df}n|}|||.Element._setAttributescSs|jS)N)r)rrrr_getChildNodesPsz/getETreeBuilder..Element._getChildNodescSs;|jdd=g|_x|D]}|j|q WdS)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.hasContentcSs0|jj||jj|j||_dS)N)rappendrr)rnoderrr appendChild_sz,getETreeBuilder..Element.appendChildcSs>t|jj|j}|jj||j||_dS)N)listrindexinsertr)rr6refNoder9rrr insertBeforedsz-getETreeBuilder..Element.insertBeforecSs0|jj||jj|jd|_dS)N)rremoverr)rr6rrr removeChildisz,getETreeBuilder..Element.removeChildcSs!t|js<|jjs'd|j_|jj|7_n|dkr|jdjshd|jd_|jdj|7_nt|j}|j|j}|dkr|j|djsd|j|d_|j|dj|7_n*|jjs d|j_|jj|7_dS)Nrrr@r@)r3rr2tailr8r9)rdatar<childrenr9rrr insertTextns"      z+getETreeBuilder..Element.insertTextcSsCt||j|j}|jjr?t|jj|j_|S)N)typerrrr$r)rr/rrr cloneNodes z*getETreeBuilder..Element.cloneNodecSs|jr+|jdjj|jj7_nB|jjsCd|j_|jjdk rm|jj|jj7_d|j_tjj||dS)Nrr?r@) childNodesrrAr2rNodereparentChildren)r newParentrrrrIs "   z1getETreeBuilder..Element.reparentChildren)__name__ __module__ __qualname__rrr r!propertyrr"r#rr%r-r*r.r0rGr4r7r<r>rDrFrIr)rrrrs*               rcsIeZdZfddZddZddZeeeZdS)z getETreeBuilder..Commentcs1j||_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   rOcspeZdZfddZddZddZeeeZddZd d Z eee Z d S) z%getETreeBuilder..DocumentTypecs2j|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 _setPublicIds z2getETreeBuilder..DocumentType._setPublicIdcSs|jjddS)NrSr?)rrT)rrrr _getSystemIdsz2getETreeBuilder..DocumentType._getSystemIdcSs#|dk r|jjd|dS)NrS)rrV)rr,rrr _setSystemIds z2getETreeBuilder..DocumentType._setSystemIdN) rKrLrMrrUrWrNrRrXrYrSr)rrr DocumentTypes     rZcs"eZdZfddZdS)z!getETreeBuilder..Documentcsj|ddS)N DOCUMENT_ROOT)r)r)rrrrsz*getETreeBuilder..Document.__init__N)rKrLrMrr)rrrDocuments r\cs"eZdZfddZdS)z)getETreeBuilder..DocumentFragmentcsj|ddS)NZDOCUMENT_FRAGMENT)r)r)rrrrsz2getETreeBuilder..DocumentFragment.__init__N)rKrLrMrr)rrrDocumentFragments r]cs;gdfdd|ddjS)Nrc sut|ds|j}|jdkr|jdsH|jdr|jdpZd}|jdpod}jd|j||fqjd|jfnr|jdkrAjd |jdk rjd d |d |jf|jdk rtd t|drt|j rtdn|jkrqjdd ||jfnt |jt st dt |j|jftj|j}|dkr|j}n/|j\}}tj|}d||f}jdd ||ft|drg}x|j jD]r\}} tj|}|dk r|j\}}tj|}d||f} n|} |j| | fq>Wx<t|D].\}} jdd |d || fqW|jrjd d |d |jf|d 7}x|D]} | |q/W|jrqjd d |d |jfdS)Nrz rRrSr?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 )join)r/)rl)rmrnrtestSerializers7 z'getETreeBuilder..testSerializercsGgtjfdd|djS)z4Serialize an element and its child nodes to a stringcsBt|jr|j}|jdkr|jdsK|jdr|jdp]d}|jdprd}jd|j||fq%jd|jfnv|jdkr@|jdk rj|j|jdk rtdt |d r"t |j r"td x|D]}|q)Wn|jkrijd |jfn|j sjd j |jfnEd j fdd|j jD}jd|j|f|jrj|jx|D]}|qWjd|jf|jr>j|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 )s zOgetETreeBuilder..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.testSerializercsPr|jjS|jdk r9|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>64r) __future__rrrZpip._vendor.sixrrerr?rr r r _utilsr compilercrgetETreeModulerrrrs E