U o a"@sddlmZmZmZzddlmZWn ek rDddlmZYnXddlm Z m Z ddl Z ddl m Z ddl mZdd lmZdd lmZd d ZeeZdS) )absolute_importdivisionunicode_literals)MutableMapping)minidomNodeN)base) constants) namespaces)moduleFactoryFactorycsVGdddtGfdddtjGfdddtj}ddtS) Nc@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS)zgetDomBuilder..AttrListcSs ||_dSNelementselfrrfC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-6mt8ur68\pip\_vendor\html5lib\treebuilders\dom.py__init__sz(getDomBuilder..AttrList.__init__cSst|jjSr)iterr attributeskeysrrrr__iter__sz(getDomBuilder..AttrList.__iter__cSs4t|trtn |jj|}||_||jj|<dSr) isinstancetupleNotImplementedErrorr ownerDocumentZcreateAttributevaluer)rnamerattrrrr __setitem__s  z+getDomBuilder..AttrList.__setitem__cSs t|jjSr)lenrrrrrr__len__#sz'getDomBuilder..AttrList.__len__cSst|jjSr)listrritemsrrrrr&&sz%getDomBuilder..AttrList.itemscSst|jjSr)r%rrvaluesrrrrr')sz&getDomBuilder..AttrList.valuescSs"t|trtn|jj|jSdSr)rrrrrrrr rrr __getitem__,s z+getDomBuilder..AttrList.__getitem__cSst|trtn |jj|=dSr)rrrrrr(rrr __delitem__2s z+getDomBuilder..AttrList.__delitem__N) __name__ __module__ __qualname__rrr"r$r&r'r)r*rrrrAttrListsr.cseZdZddZeddZddZddd Zd d Zd d Z ddZ fddZ ddZ ee e Z fddZddZddZeeZdS)z"getDomBuilder..NodeBuildercSstj||j||_dSr)r rrnodeNamerrrrrr9sz+getDomBuilder..NodeBuilder.__init__cSst|jdr|jjpdS)N namespaceURI)hasattrrr0rrrr=s z+getDomBuilder..NodeBuilder.cSs||_|j|jdSr)parentr appendChildrnoderrrr4@sz.getDomBuilder..NodeBuilder.appendChildNcSs4|jj|}|r$|j||jn |j|dSr)rrcreateTextNode insertBeforer4)rdatar8textrrr insertTextDsz-getDomBuilder..NodeBuilder.insertTextcSs|j|j|j||_dSr)rr8r3)rr6refNoderrrr8Ksz/getDomBuilder..NodeBuilder.insertBeforecSs&|jj|jkr|j|jd|_dSr)rZ parentNode removeChildr3r5rrrr=Osz.getDomBuilder..NodeBuilder.removeChildcSs6|jr,|jj}|j||j|qg|_dSr)r hasChildNodesZ firstChildr=r4 childNodes)r newParentchildrrrreparentChildrenTs   z3getDomBuilder..NodeBuilder.reparentChildrencs |jSrrr)r.rr getAttributes[sz0getDomBuilder..NodeBuilder.getAttributescSsv|rrt|D]`\}}t|trb|ddk rD|dd|d}n|d}|j|d||q|j||qdS)Nr:rr )r%r&rrrZsetAttributeNSZ setAttribute)rrr rZ qualifiedNamerrr setAttributes^s  z0getDomBuilder..NodeBuilder.setAttributescs|jdS)NF)r cloneNoder NodeBuilderrrrFmsz,getDomBuilder..NodeBuilder.cloneNodecSs |jSr)rr>rrrr hasContentpsz-getDomBuilder..NodeBuilder.hasContentcSs(|jdkrtd|jfS|j|jfSdS)Nhtml) namespacer r rrrr getNameTupless z/getDomBuilder..NodeBuilder.getNameTuple)N)r+r,r-rpropertyrKr4r;r8r=rBrCrErrFrIrL nameTupler)r.rHrrrH8s     rHcseZdZfddZfddZdfdd Zfdd Zfd d Zd d ZfddZ ddZ ddZ dddZ Z dZdS)z"getDomBuilder..TreeBuildercsddd|_t|Sr)getDOMImplementationZcreateDocumentdomweakrefproxyr)Domrr documentClass|sz0getDomBuilder..TreeBuilder.documentClasscsR|d}|d}|d}}||||}|j|tkrN|j|_dS)Nr publicIdsystemId)rOZcreateDocumentTypedocumentr4rrPr)rtokenr rUrVZdomimpldoctype)rSrHrr insertDoctypesz0getDomBuilder..TreeBuilder.insertDoctypeNcs6|dkr |jdkr |j|}n|j||}|Sr)defaultNamespacerP createElementZcreateElementNS)rr rKr6rGrr elementClasssz/getDomBuilder..TreeBuilder.elementClasscs|j|Sr)rPZ createComment)rr9rGrr commentClasssz/getDomBuilder..TreeBuilder.commentClasscs|jSr)rPZcreateDocumentFragmentrrGrr fragmentClasssz0getDomBuilder..TreeBuilder.fragmentClasscSs|j|jdSr)rPr4rr5rrrr4sz.getDomBuilder..TreeBuilder.appendChildcs|Srrr)testSerializerrrr`sz1getDomBuilder..TreeBuilder.testSerializercSs|jSr)rPrrrr getDocumentsz.getDomBuilder..TreeBuilder.getDocumentcSstj|jSr)r TreeBuilder getFragmentrrrrrrcsz.getDomBuilder..TreeBuilder.getFragmentcSsp|}||krtj|||nNt|jdrXtj|jjkrXt|jj|j_|jj tj|j |j |dS)N_child_node_types) r rbr;r1rPr TEXT_NODErdr%appendr4r7)rr9r3rrrr;s z-getDomBuilder..TreeBuilder.insertText)N)N)r+r,r-rTrZr]r^r_r4r`rarcr;implementationr r)rSDomImplementationrHr`rrrb{s      rbcs0|gdfdd |ddS)Nrc s|jtjkr|jrj|js|jrP|jp&d}|jp0d}dd||j||fq~dd||jfndd|fnr|jtjkrdnX|jtjkrdn>|jtj krވdd||j fn|jtj krd d||j fnt |d r6|j dk r6d tj|j |jf}n|j}d d||f|rg}tt|jD]T}|j|}|j}|j}|j } | rd tj| |jf}n|j}|||fqnt|D]&\}}d d|d||fq|d7}|jD]} | |qdS)Nz|%s z|%sz|%sz #documentz#document-fragmentz|%sz|%s"%s"r0z%s %sz|%s<%s>z |%s%s="%s"r )ZnodeTyperZDOCUMENT_TYPE_NODEr rUrVrfZ DOCUMENT_NODEZDOCUMENT_FRAGMENT_NODEZ COMMENT_NODEZ nodeValuerer1r0r prefixesr/Z hasAttributesranger#ritemrZ localNamesortedr?) rindentrUrVr rir!rnsrArvserializeElementrrrtsT             z?getDomBuilder..testSerializer..serializeElement )r) normalizejoinrrrrrr`s . z%getDomBuilder..testSerializer)rr rrblocals)rhrbr)r.rSrhrHr`r getDomBuilders $C:6ry) __future__rrrcollections.abcr ImportError collectionsxml.domrrrQrir r r _utilsr ry getDomModulerrrrs    _