Viewing File: /usr/lib/python3.6/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-36.pyc

3

aj"@s|ddlmZmZmZddlmZddlmZmZddl	Z	ddl
mZddl
mZdd	lm
Z
dd
lmZddZeeZdS)
)absolute_importdivisionunicode_literals)MutableMapping)minidomNodeN)base)	constants)
namespaces)moduleFactoryFactorycsVGdddtGfdddtjGfdddtj}ddtS)	Nc@sLeZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
dS)zgetDomBuilder.<locals>.AttrListcSs
||_dS)N)element)selfrr/usr/lib/python3.6/dom.py__init__sz(getDomBuilder.<locals>.AttrList.__init__cSst|jjjS)N)iterr
attributeskeys)rrrr__iter__sz(getDomBuilder.<locals>.AttrList.__iter__cSs4t|trtn |jjj|}||_||jj|<dS)N)
isinstancetupleNotImplementedErrorr
ownerDocumentZcreateAttributevaluer)rnamerattrrrr__setitem__s

z+getDomBuilder.<locals>.AttrList.__setitem__cSst|jjS)N)lenrr)rrrr__len__ sz'getDomBuilder.<locals>.AttrList.__len__cSst|jjjS)N)listrritems)rrrrr"#sz%getDomBuilder.<locals>.AttrList.itemscSst|jjjS)N)r!rrvalues)rrrrr#&sz&getDomBuilder.<locals>.AttrList.valuescSs"t|trtn|jj|jSdS)N)rrrrrr)rrrrr__getitem__)s
z+getDomBuilder.<locals>.AttrList.__getitem__cSst|trtn
|jj|=dS)N)rrrrr)rrrrr__delitem__/s
z+getDomBuilder.<locals>.AttrList.__delitem__N)__name__
__module____qualname__rrrr r"r#r$r%rrrrAttrListsr)cseZdZddZeddZddZddd	Zd
dZdd
Z	ddZ
fddZddZeeeZ
fddZddZddZeeZdS)z"getDomBuilder.<locals>.NodeBuildercSstjj||j||_dS)N)r	rrnodeNamer)rrrrrr6sz+getDomBuilder.<locals>.NodeBuilder.__init__cSst|jdr|jjpdS)NnamespaceURI)hasattrrr+)rrrr<lambda>:sz+getDomBuilder.<locals>.NodeBuilder.<lambda>cSs||_|jj|jdS)N)parentrappendChild)rnoderrrr/=sz.getDomBuilder.<locals>.NodeBuilder.appendChildNcSs4|jjj|}|r$|jj||jn|jj|dS)N)rrcreateTextNodeinsertBeforer/)rdatar2textrrr
insertTextAsz-getDomBuilder.<locals>.NodeBuilder.insertTextcSs|jj|j|j||_dS)N)rr2r.)rr0ZrefNoderrrr2Hsz/getDomBuilder.<locals>.NodeBuilder.insertBeforecSs&|jj|jkr|jj|jd|_dS)N)rZ
parentNoderemoveChildr.)rr0rrrr6Lsz.getDomBuilder.<locals>.NodeBuilder.removeChildcSs:x.|jjr.|jj}|jj||jj|qWg|_dS)N)r
hasChildNodesZ
firstChildr6r/
childNodes)rZ	newParentchildrrrreparentChildrenQs
z3getDomBuilder.<locals>.NodeBuilder.reparentChildrencs
|jS)N)r)r)r)rr
getAttributesXsz0getDomBuilder.<locals>.NodeBuilder.getAttributescSsz|rvxpt|jD]`\}}t|trd|ddk	rF|dd|d}n|d}|jj|d||q|jj||qWdS)Nr:rr
)r!r"rrrZsetAttributeNSZsetAttribute)rrrrZ
qualifiedNamerrr
setAttributes[s
z0getDomBuilder.<locals>.NodeBuilder.setAttributescs|jjdS)NF)r	cloneNode)r)NodeBuilderrrr>jsz,getDomBuilder.<locals>.NodeBuilder.cloneNodecSs
|jjS)N)rr7)rrrr
hasContentmsz-getDomBuilder.<locals>.NodeBuilder.hasContentcSs(|jdkrtd|jfS|j|jfSdS)NZhtml)	namespacerr)rrrrgetNameTupleps
z/getDomBuilder.<locals>.NodeBuilder.getNameTuple)N)r&r'r(rpropertyrAr/r5r2r6r:r;r=rr>r@rBZ	nameTupler)r)r?rrr?5s

r?cseZdZfddZfddZdfdd	Zfdd	Zfd
dZdd
ZfddZ	ddZ
ddZdddZZ
dZdS)z"getDomBuilder.<locals>.TreeBuildercsjjddd|_tj|S)N)getDOMImplementationZcreateDocumentdomweakrefproxy)r)Domrr
documentClassysz0getDomBuilder.<locals>.TreeBuilder.documentClasscsR|d}|d}|d}j}|j|||}|jj|tkrN|j|_dS)NrpublicIdsystemId)rDZcreateDocumentTypeZdocumentr/rrEr)rtokenrrJrKZdomimplZdoctype)rHr?rr
insertDoctype}sz0getDomBuilder.<locals>.TreeBuilder.insertDoctypeNcs6|dkr |jdkr |jj|}n|jj||}|S)N)ZdefaultNamespacerEZ
createElementZcreateElementNS)rrrAr0)r?rrelementClasssz/getDomBuilder.<locals>.TreeBuilder.elementClasscs|jj|S)N)rEZ
createComment)rr3)r?rrcommentClasssz/getDomBuilder.<locals>.TreeBuilder.commentClasscs|jjS)N)rEZcreateDocumentFragment)r)r?rr
fragmentClasssz0getDomBuilder.<locals>.TreeBuilder.fragmentClasscSs|jj|jdS)N)rEr/r)rr0rrrr/sz.getDomBuilder.<locals>.TreeBuilder.appendChildcs|S)Nr)rr)testSerializerrrrQsz1getDomBuilder.<locals>.TreeBuilder.testSerializercSs|jS)N)rE)rrrrgetDocumentsz.getDomBuilder.<locals>.TreeBuilder.getDocumentcSstjj|jS)N)r	TreeBuildergetFragmentr)rrrrrTsz.getDomBuilder.<locals>.TreeBuilder.getFragmentcSsp|}||krtjj|||nNt|jdrXtj|jjkrXt|jj|j_|jjj	tj|jj
|jj|dS)N_child_node_types)r	rSr5r,rEr	TEXT_NODErUr!appendr/r1)rr3r.rrrr5sz-getDomBuilder.<locals>.TreeBuilder.insertText)N)N)r&r'r(rIrMrNrOrPr/rQrRrTr5implementationrr)rHDomImplementationr?rQrrrSxs

rScs0|jgdfdd	|ddjS)Nrcs$|jtjkr|jrj|js|jrP|jp&d}|jp0d}jdd||j||fq~jdd||jfnjdd|fnz|jtjkrjdn`|jtjkrjdnF|jtj	krވjdd||j
fn|jtjkrjd	d||j
fnt|d
r6|j
dk	r6dtj|j
|jf}n|j}jdd||f|jrg}xftt|jD]T}|jj|}|j}|j}|j
}	|	rdtj|	|jf}n|j}|j||fqpWx2t|D]&\}}jd
d|d||fqW|d7}x|jD]}
|
|qWdS)Nz|%s<!DOCTYPE %s "%s" "%s"> z|%s<!DOCTYPE %s>z|%s<!DOCTYPE >z	#documentz#document-fragmentz|%s<!-- %s -->z|%s"%s"r+z%s %sz|%s<%s>z
|%s%s="%s"r
)ZnodeTyperZDOCUMENT_TYPE_NODErrJrKrWZ
DOCUMENT_NODEZDOCUMENT_FRAGMENT_NODEZCOMMENT_NODEZ	nodeValuerVr,r+rprefixesr*Z
hasAttributesrangerritemrZ	localNamesortedr8)rindentrJrKrrirrnsr9)rvserializeElementrrrdsN


"z?getDomBuilder.<locals>.testSerializer.<locals>.serializeElement
)r)Z	normalizejoin)rr)rcrdrrQs
.
z%getDomBuilder.<locals>.testSerializer)rr	rrSlocals)rYrSr)r)rHrYr?rQr
getDomBuilders$C:6rh)Z
__future__rrrcollectionsrZxml.domrrrFrZr	rrZ_utilsr
rhZgetDomModulerrrr<module>s_
Back to Directory File Manager