a Ra$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^||_||_||||_|dur:td|jf|_n|j|jf|_d|_g|_g|_ dS)Nhtml) _name _namespaceElement _getETreeTag_elementr Z nameTupleparent _childNodes_flags)selfname namespace ElementTreeX/opt/alt/python39/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree.py__init__s z)getETreeBuilder..Element.__init__cSs|dur|}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)Nrr 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)rr/elementrrr_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:ZrefNoder=rrr insertBeforedsz-getETreeBuilder..Element.insertBeforecSs$|j||j|jd|_dSr )rremoverrr9rrr removeChildis z,getETreeBuilder..Element.removeChildcSst|js,|jjsd|j_|jj|7_n|durb|jdjsLd|jd_|jdj|7_nxt|j}||j}|dkr|j|djsd|j|d_|j|dj|7_n |jjsd|j_|jj|7_dS)Nrr)r6rr5tailr<r=)rdatar?Zchildrenr=rrr insertTextns"     z+getETreeBuilder..Element.insertTextcSs.t||j|j}|jjr*t|jj|j_|Sr )typerrrr'rrr2rrr cloneNodesz*getETreeBuilder..Element.cloneNodecSsl|jr"|jdjj|jj7_n0|jjs2d|j_|jjdurR|jj|jj7_d|j_tj||dS)NrCrB) childNodesrrDr5rNodereparentChildren)rZ newParentrrrrLs z1getETreeBuilder..Element.reparentChildren)N)N)__name__ __module__ __qualname__rrr"r$propertyrr%r&rr(r0r-r1r3rJr7r;r?rArFrIrLrrrrrs*      rcs2eZdZfddZddZddZeeeZdS)z getETreeBuilder..Commentcs"||_d|_g|_g|_dSr )Commentrrrr)rrErrrrs z)getETreeBuilder..Comment.__init__cSs|jjSr rr5r#rrr_getDatasz)getETreeBuilder..Comment._getDatacSs ||j_dSr rRrr/rrr_setDatasz)getETreeBuilder..Comment._setDataN)rMrNrOrrSrUrPrErrrrrQs rQcsLeZdZfddZddZddZeeeZddZd d Z eee Z d S) z%getETreeBuilder..DocumentTypecs$|d||j_||_||_dS)N )rrr5publicIdsystemId)rrrWrXrrrrs z.getETreeBuilder..DocumentType.__init__cSs|jddS)NrWrBrgetr#rrr _getPublicIdsz2getETreeBuilder..DocumentType._getPublicIdcSs|dur|jd|dS)NrWrsetrTrrr _setPublicIdsz2getETreeBuilder..DocumentType._setPublicIdcSs|jddS)NrXrBrZr#rrr _getSystemIdsz2getETreeBuilder..DocumentType._getSystemIdcSs|dur|jd|dS)NrXr]rTrrr _setSystemIdsz2getETreeBuilder..DocumentType._setSystemIdN) rMrNrOrr\r_rPrWr`rarXrrYrr DocumentTypes  rbcseZdZfddZdS)z!getETreeBuilder..Documentcs|ddS)N DOCUMENT_ROOTrr#rYrrrsz*getETreeBuilder..Document.__init__NrMrNrOrrrYrrDocumentsrfcseZdZfddZdS)z)getETreeBuilder..DocumentFragmentcs|ddS)NZDOCUMENT_FRAGMENTrdr#rYrrrsz2getETreeBuilder..DocumentFragment.__init__NrerrYrrDocumentFragmentsrgcs*gdfdd |ddS)Nrc snt|ds|}|jdkrz|ds0|drd|dp rcz #documentz|%s"%s" r Document node cannot have tailr'$Document node cannot have attributesz|%sz%s %sz|%s<%s>z |%s%s="%s")hasattrgetrootr!r[r8r5rD TypeErrorr6r' tag_regexpmatchgroupsr prefixesr*sorted) r2indentrWrXZnsmatchrnsprefixr-r/Z attr_stringchild)ElementTreeCommentTypervserializeElementrrrzs\                    zAgetETreeBuilder..testSerializer..serializeElement )r)joinr2)rx)ryrzrtestSerializers7 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|jdur|j|jdurtdt |d rt |j rtd |D] }|qn|jkrd |jfn|j sd  |jfn2d fdd|j D}d|j|f|jrd|j|D]}|qhd|jf|jr|jdS)NrVrWrXrBzrhrcrjr'rkz z<%s>rics"g|]\}}d||fqS)z%s="%s") fromXmlName).0rr/)filterrr )s zOgetETreeBuilder..tostring..serializeElement..z<%s %s>z)r+rrmr!r[r8r5rDrnrlr6r'rr|r*)r2rWrXrwattr)rrxrryrzrrrz sD           z;getETreeBuilder..tostring..serializeElementrB)r Z InfosetFilterr|r})rrx)rryrzrtostrings -z!getETreeBuilder..tostringcsDeZdZZZZZZZfddZ fddZ ddZ dS)z$getETreeBuilder..TreeBuildercs|Sr rrH)r~rrr~Dsz3getETreeBuilder..TreeBuilder.testSerializercs<r |jjS|jdur*|jjd|jS|jjdSdS)Nz{%s}htmlr)ZdocumentrZdefaultNamespacefindr#)fullTreerr getDocumentGs z0getETreeBuilder..TreeBuilder.getDocumentcSstj|jSr )r TreeBuilder getFragmentrr#rrrrQsz0getETreeBuilder..TreeBuilder.getFragmentN) rMrNrOZ documentClassZ doctypeClassZ elementClassZ commentClassZ fragmentClassimplementationr~rrr)rQrfrgrbrElementTreeImplementationrr~rrr<s  r)rQr!rrKrlocals)rrrrr) rQrfrgrbrrrxrrr~rgetETreeBuilders  >6$r)F)Z __future__rrrZpip._vendor.sixrrerrBrr r r Z_utilsr compilerorZgetETreeModulerrrrs         F