U o a1@sddlmZmZmZddlmZddlZddlmZddlm Z ddlm Z dd l m Z dd l m Z ed Zdd dZe eZdS))absolute_importdivisionunicode_literals) text_typeN)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^||_||_||||_|dkr:td|jf|_n|j|jf|_d|_g|_g|_ dS)Nhtml) _name _namespaceElement _getETreeTag_elementr nameTupleparent _childNodes_flags)selfname namespace ElementTreehC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-6mt8ur68\pip\_vendor\html5lib\treebuilders\etree.py__init__s z)getETreeBuilder..Element.__init__cSs|dkr|}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_getName.sz)getETreeBuilder..Element._getNamecSs||_||j|j|j_dSr )rrrrr!)rrrrr _setNamespace3sz.getETreeBuilder..Element._setNamespacecSs|jSr )rr#rrr _getNamespace7sz.getETreeBuilder..Element._getNamespacecSs|jjSr )rattribr#rrr_getAttributes<sz/getETreeBuilder..Element._getAttributescSsht|jjD]}|jj|=q|D]:\}}t|trPd|d|df}n|}|j||q(dS)Nrrr)listrr'keysitems isinstancetupleset)r attributeskeyvaluerrrr_setAttributes?s  z/getETreeBuilder..Element._setAttributescSs|jSr )rr#rrr_getChildNodesMsz/getETreeBuilder..Element._getChildNodescSs*|jdd=g|_|D]}||qdSr )rrZ insertChild)rr1elementrrr_setChildNodesPs z/getETreeBuilder..Element._setChildNodescSst|jjpt|jS)z,Return true if the node has children or text)boolrtextlenr#rrr hasContentXsz+getETreeBuilder..Element.hasContentcSs$|j||j|j||_dSr )rappendrrrnoderrr appendChild\s z,getETreeBuilder..Element.appendChildcSs,t|j|j}|j||j||_dSr )r)rindexinsertr)rr<refNoder>rrr insertBeforeasz-getETreeBuilder..Element.insertBeforecSs$|j||j|jd|_dSr )rremoverrr;rrr removeChildfs z,getETreeBuilder..Element.removeChildcSst|js,|jjsd|j_|jj|7_n|dkrb|jdjsLd|jd_|jdj|7_nxt|j}||j}|dkr|j|djsd|j|d_|j|dj|7_n |jjsd|j_|jj|7_dS)Nrr)r8rr7tailr)r>)rdatarAchildrenr>rrr insertTextks"     z+getETreeBuilder..Element.insertTextcSs4t||j|j}|jD]\}}||j|<q|Sr )typerrr/r+)rr4rr1rrr cloneNodes z*getETreeBuilder..Element.cloneNodecSsl|jr"|jdjj|jj7_n0|jjs2d|j_|jjdk rR|jj|jj7_d|j_tj||dS)NrErD) childNodesrrFr7rNodereparentChildren)r newParentrrrrNs z1getETreeBuilder..Element.reparentChildren)N)N)__name__ __module__ __qualname__rrr"r$propertyrr%r&rr(r2r/r3r5rLr9r=rArCrIrKrNrrrrrs*      rcs2eZdZfddZddZddZeeeZdS)z getETreeBuilder..Commentcs"||_d|_g|_g|_dSr )Commentrrrr)rrGrrrrs z)getETreeBuilder..Comment.__init__cSs|jjSr rr7r#rrr_getDatasz)getETreeBuilder..Comment._getDatacSs ||j_dSr rUrr1rrr_setDatasz)getETreeBuilder..Comment._setDataN)rPrQrRrrVrXrSrGrrrrrTs rTcsLeZdZfddZddZddZeeeZddZd d Z eee Z d S) z%getETreeBuilder..DocumentTypecs$|d||j_||_||_dS)N )rrr7publicIdsystemId)rrrZr[rrrrs z.getETreeBuilder..DocumentType.__init__cSs|jddS)NrZrDrgetr#rrr _getPublicIdsz2getETreeBuilder..DocumentType._getPublicIdcSs|dk r|jd|dS)NrZrr.rWrrr _setPublicIdsz2getETreeBuilder..DocumentType._setPublicIdcSs|jddS)Nr[rDr]r#rrr _getSystemIdsz2getETreeBuilder..DocumentType._getSystemIdcSs|dk r|jd|dS)Nr[r`rWrrr _setSystemIdsz2getETreeBuilder..DocumentType._setSystemIdN) rPrQrRrr_rarSrZrbrcr[rr\rr DocumentTypes  rdcseZdZfddZdS)z!getETreeBuilder..Documentcs|ddS)N DOCUMENT_ROOTrr#r\rrrsz*getETreeBuilder..Document.__init__NrPrQrRrrr\rrDocumentsrhcseZdZfddZdS)z)getETreeBuilder..DocumentFragmentcs|ddS)NZDOCUMENT_FRAGMENTrfr#r\rrrsz2getETreeBuilder..DocumentFragment.__init__Nrgrr\rrDocumentFragmentsrics*gdfdd |ddS)Nrc st|ds|}|jdkrz|ds0|drd|dp rez #documentz|%s"%s" rDocument node cannot have tailr'$Document node cannot have attributesz|%szExpected unicode, got %s, %sz%s %sz|%s<%s>z |%s%s="%s")hasattrgetrootr!r^r:r7rF TypeErrorr8r'r,rAssertionErrorrJ tag_regexpmatchgroupsr prefixesr+sorted) r4indentrZr[Znsmatchrnsprefixr/r1Z attr_stringchild)ElementTreeCommentTypervserializeElementrrr}sb                    zAgetETreeBuilder..testSerializer..serializeElement )r)joinr4)r{)r|r}rtestSerializers7 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|jdk r|j|jdk rtdt |d rt |j rtd |D] }|qn|jkrd |jfn|j sd  |jfn2d fdd|j D}d|j|f|jrd|j|D]}|qhd|jf|jr|jdS)NrYrZr[rDzrjrerlr'rmz z<%s>rkcs"g|]\}}d||fqS)z%s="%s") fromXmlName).0rr1)filterrr &s zOgetETreeBuilder..tostring..serializeElement..z<%s %s>z)r,rror!r^r:r7rFrprnr8r'rrr+)r4rZr[rzattr)rr{rr|r}rrr}sD           z;getETreeBuilder..tostring..serializeElementrD)r Z InfosetFilterrr)rr{)rr|r}rtostrings -z!getETreeBuilder..tostringcsDeZdZZZZZZZfddZ fddZ ddZ dS)z$getETreeBuilder..TreeBuildercs|Sr r)rr4)rrrrAsz3getETreeBuilder..TreeBuilder.testSerializercs<r |jjS|jdk r*|jjd|jS|jjdSdS)Nz{%s}htmlr )documentrdefaultNamespacefindr#)fullTreerr getDocumentDs z0getETreeBuilder..TreeBuilder.getDocumentcSstj|jSr )r TreeBuilder getFragmentrr#rrrrNsz0getETreeBuilder..TreeBuilder.getFragmentN) rPrQrR documentClass doctypeClass elementClass commentClass fragmentClassimplementationrrrr)rTrhrirdrElementTreeImplementationrrrrr9s  r)rTr!rrMrlocals)rrrrr) rTrhrirdrrr{rrrrgetETreeBuilders ~ >6$r)F) __future__rrrZpip._vendor.sixrrerDrr r r _utilsr compilerrrgetETreeModulerrrrs        E