“tÆ_Ý"ã @sÓddlmZmZmZyddlmZWn"ek rTddlmZYnXddlm Z m Z ddl Z ddl m Z ddl mZdd lmZdd lmZd d „ZeeƒZdS) é)Úabsolute_importÚdivisionÚunicode_literals)ÚMutableMapping)ÚminidomÚNodeNé)Úbaseé)Ú constants)Ú namespaces)ÚmoduleFactoryFactorycsyˆ‰Gdd„dtƒ‰G‡‡fdd†dtjƒ‰G‡‡‡‡fdd†dtjƒ}dd„‰tƒS) Nc@speZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dS)zgetDomBuilder..AttrListcSs ||_dS)N)Úelement)Úselfr©rú”/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/dom.pyÚ__init__sz(getDomBuilder..AttrList.__init__cSst|jjjƒƒS)N)ÚiterrÚ attributesÚkeys)rrrrÚ__iter__sz(getDomBuilder..AttrList.__iter__cSsJt|tƒrt‚n.|jjj|ƒ}||_||jj|.AttrList.__setitem__cSst|jjƒS)N)Úlenrr)rrrrÚ__len__#sz'getDomBuilder..AttrList.__len__cSst|jjjƒƒS)N)ÚlistrrÚitems)rrrrr"&sz%getDomBuilder..AttrList.itemscSst|jjjƒƒS)N)r!rrÚvalues)rrrrr#)sz&getDomBuilder..AttrList.valuescSs-t|tƒrt‚n|jj|jSdS)N)rrrrrr)rrrrrÚ __getitem__,s z+getDomBuilder..AttrList.__getitem__cSs)t|tƒrt‚n |jj|=dS)N)rrrrr)rrrrrÚ __delitem__2s z+getDomBuilder..AttrList.__delitem__N) Ú__name__Ú __module__Ú __qualname__rrrr r"r#r$r%rrrrÚAttrLists        r)csÐeZdZdd„Zedd„ƒZdd„Zddd „Zd d „Zd d „Z dd„Z ‡fdd†Z dd„Z ee e ƒZ ‡fdd†Zdd„Zdd„ZeeƒZdS)z"getDomBuilder..NodeBuildercSs#tjj||jƒ||_dS)N)r rrÚnodeNamer)rrrrrr9sz+getDomBuilder..NodeBuilder.__init__cSs"t|jdƒr|jjp!dS)NÚ namespaceURI)Úhasattrrr+)rrrrÚ=sz+getDomBuilder..NodeBuilder.cSs ||_|jj|jƒdS)N)ÚparentrÚ appendChild)rÚnoderrrr/@s z.getDomBuilder..NodeBuilder.appendChildNcSsH|jjj|ƒ}|r4|jj||jƒn|jj|ƒdS)N)rrÚcreateTextNodeÚ insertBeforer/)rÚdatar2ÚtextrrrÚ insertTextDsz-getDomBuilder..NodeBuilder.insertTextcSs&|jj|j|jƒ||_dS)N)rr2r.)rr0ÚrefNoderrrr2Ksz/getDomBuilder..NodeBuilder.insertBeforecSs5|jj|jkr(|jj|jƒd|_dS)N)rZ parentNodeÚ removeChildr.)rr0rrrr7Osz.getDomBuilder..NodeBuilder.removeChildcSsOx?|jjƒrA|jj}|jj|ƒ|jj|ƒqWg|_dS)N)rÚ hasChildNodesZ firstChildr7r/Ú childNodes)rÚ newParentÚchildrrrÚreparentChildrenTs  z3getDomBuilder..NodeBuilder.reparentChildrencs ˆ|jƒS)N)r)r)r)rrÚ getAttributes[sz0getDomBuilder..NodeBuilder.getAttributescSsŸ|r›x’t|jƒƒD]~\}}t|tƒr„|ddk r]|dd|d}n |d}|jj|d||ƒq|jj||ƒqWdS)Nrú:rr )r!r"rrrZsetAttributeNSZ setAttribute)rrrrZ qualifiedNamerrrÚ setAttributes^s   z0getDomBuilder..NodeBuilder.setAttributescsˆ|jjdƒƒS)NF)rÚ cloneNode)r)Ú NodeBuilderrrr@msz,getDomBuilder..NodeBuilder.cloneNodecSs |jjƒS)N)rr8)rrrrÚ hasContentpsz-getDomBuilder..NodeBuilder.hasContentcSs4|jdkr td|jfS|j|jfSdS)NÚhtml)Ú namespacer r)rrrrÚ getNameTuplessz/getDomBuilder..NodeBuilder.getNameTuple)r&r'r(rÚpropertyrDr/r5r2r7r<r=r?rr@rBrEÚ nameTupler)r)rArrrA8s         rAcsÁeZdZ‡fdd†Z‡‡fdd†Zd‡fdd†Z‡fdd †Z‡fd d †Zd d „Z‡fdd†Z dd„Z dd„Z ddd„Z ”Z dZdS)z"getDomBuilder..TreeBuildercs+ˆjƒjdddƒ|_tj|ƒS)N)ÚgetDOMImplementationZcreateDocumentÚdomÚweakrefÚproxy)r)ÚDomrrÚ documentClass|sz0getDomBuilder..TreeBuilder.documentClasscsq|d}|d}|d}ˆjƒ}|j|||ƒ}|jjˆ|ƒƒˆtkrm|j|_dS)NrÚpublicIdÚsystemId)rHZcreateDocumentTypeÚdocumentr/rrIr)rÚtokenrrNrOZdomimplÚdoctype)rLrArrÚ insertDoctype€s     z0getDomBuilder..TreeBuilder.insertDoctypeNcsO|dkr0|jdkr0|jj|ƒ}n|jj||ƒ}ˆ|ƒS)N)ÚdefaultNamespacerIÚ createElementZcreateElementNS)rrrDr0)rArrÚ elementClass‹sz/getDomBuilder..TreeBuilder.elementClasscsˆ|jj|ƒƒS)N)rIZ createComment)rr3)rArrÚ commentClass“sz/getDomBuilder..TreeBuilder.commentClasscsˆ|jjƒƒS)N)rIZcreateDocumentFragment)r)rArrÚ fragmentClass–sz0getDomBuilder..TreeBuilder.fragmentClasscSs|jj|jƒdS)N)rIr/r)rr0rrrr/™sz.getDomBuilder..TreeBuilder.appendChildcs ˆ|ƒS)Nr)rr)ÚtestSerializerrrrYœsz1getDomBuilder..TreeBuilder.testSerializercSs|jS)N)rI)rrrrÚ getDocumentŸsz.getDomBuilder..TreeBuilder.getDocumentcSstjj|ƒjS)N)r Ú TreeBuilderÚ getFragmentr)rrrrr\¢sz.getDomBuilder..TreeBuilder.getFragmentcSs |}||kr+tjj|||ƒnqt|jdƒr€tj|jjkr€t|jjƒ|j_|jjj tjƒ|jj |jj |ƒƒdS)NÚ_child_node_types) r r[r5r,rIrÚ TEXT_NODEr]r!Úappendr/r1)rr3r.rrrr5¥s z-getDomBuilder..TreeBuilder.insertText)r&r'r(rMrSrVrWrXr/rYrZr\r5Úimplementationrr)rLÚDomImplementationrArYrrr[{s      r[csB|jƒg‰d‡‡fdd†‰ˆ|dƒdjˆƒS)Nrc sÆ|jtjkr®|jr“|js-|jrr|jp9d}|jpHd}ˆjdd||j||fƒq«ˆjdd||jfƒq—ˆjdd|fƒné|jtjkrЈjdƒnÇ|jtjkròˆjdƒn¥|jtj kr%ˆjdd||j fƒnr|jtj krXˆjd d||j fƒn?t |d ƒr–|j dk r–d tj|j |jf}n |j}ˆjd d||fƒ|jƒr—g}x‰tt|jƒƒD]r}|jj|ƒ}|j}|j}|j } | r8d tj| |jf}n |j}|j||fƒqâWx<t|ƒD].\}}ˆjd d|d||fƒqeW|d7}x|jD]} ˆ| |ƒq«WdS)NÚz|%sú z|%sz|%sz #documentz#document-fragmentz|%sz|%s"%s"r+z%s %sz|%s<%s>z |%s%s="%s"r )ZnodeTyperZDOCUMENT_TYPE_NODErrNrOr_Z DOCUMENT_NODEZDOCUMENT_FRAGMENT_NODEZ COMMENT_NODEZ nodeValuer^r,r+r Úprefixesr*Z hasAttributesÚrangerrÚitemrZ localNameÚsortedr9) rÚindentrNrOrrÚirrÚnsr;)ÚrvÚserializeElementrrrl¹sN  !!!      & z?getDomBuilder..testSerializer..serializeElementÚ )Ú normalizeÚjoin)rr)rkrlrrYµs  . z%getDomBuilder..testSerializer)rr rr[Úlocals)rar[r)r)rLrarArYrÚ getDomBuilders $"C(: 6rq)Ú __future__rrrÚcollections.abcrÚ ImportErrorÚ collectionsÚxml.domrrrJrbr r r Ú_utilsr rqÚ getDomModulerrrrÚs   Þ