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

3

ajL@sddlmZmZmZyddlmZWn>ek
rbyddlmZWnek
r\eZYnXYnXddl	Z	ddl
mZddlm
Z
ddlmZe	jd	Zd
dZeeZdS))absolute_importdivisionunicode_literals)OrderedDictN)string_types)base)moduleFactoryFactoryz
{([^}]*)}(.*)cs,|}|jdjGfdddtj}tS)NZasdcs4eZdZdZfddZddZddZdd	Zd
S)z#getETreeBuilder.<locals>.TreeWalkeraGiven the particular ElementTree representation, this implementation,
        to avoid using recursion, returns "nodes" as tuples with the following
        content:

        1. The current element

        2. The index of the element relative to its parent

        3. A stack of ancestor elements

        4. A flag "text", "tail" or None to indicate if the current node is a
           text node; either the text or tail of the current element (1)
        csLt|tr2|\}}}}|dkr.tjt||fS|}t|dsD|j}|jdkrVtjfS|jdkr|tj	|j
|jd|jdfS|jkrtj|j
fSt|jt
stt|jtj|j}|r|j\}}n
d}|j}t}xPt|jjD]>\}	}
tj|	}|r|
||jd	|jd
f<q|
|d|	f<qWtj|||t|pD|j
fSdS)
Ntexttailtag
DOCUMENT_ROOTDOCUMENT_FRAGMENTz
<!DOCTYPE>ZpublicIdZsystemIdrr	)rr)rr)
isinstancetuplerZTEXTgetattrhasattrZgetrootr
ZDOCUMENTZDOCTYPErgetCOMMENTrAssertionErrortype
tag_regexpmatchgroupsrlistZattribitemsgroupZELEMENTlen)selfnodeZelt_flagr	namespacer
Zattrsnamevalue)ElementTreeCommentType/usr/lib/python3.6/etree.pygetNodeDetails's8





z2getETreeBuilder.<locals>.TreeWalker.getNodeDetailscSstt|tr|\}}}}n|dgdf\}}}}|dkr8dS|jrJ|||dfSt|rl|j||dd|dfSdSdS)Nrrr)rr)rrrrappend)rr elementkeyparentsr"r'r'r(
getFirstChildOs

z1getETreeBuilder.<locals>.TreeWalker.getFirstChildcSst|tr|\}}}}ndS|dkrLt|rF|j||dd|dfSdSnN|jrf|dkrf|||dfS|t|ddkr|d|d|d|dfSdSdS)Nrrrrr/)rrrr*r)rr r+r,r-r"r'r'r(getNextSibling`s

z2getETreeBuilder.<locals>.TreeWalker.getNextSiblingcSst|tr|\}}}}ndS|dkr:|s,|S|||dfSnD|j}|sJ|St|dj|dksdt|t|dj||dfSdS)Nrrr/r/)rrpoprcountrindex)rr r+r,r-r"parentr'r'r(
getParentNodets
z1getETreeBuilder.<locals>.TreeWalker.getParentNodeN)__name__
__module____qualname____doc__r)r.r0r5r')r&r'r(
TreeWalkers

(r:)Commentr
rZNonRecursiveTreeWalkerlocals)ZElementTreeImplementationZElementTreer:r')r&r(getETreeBuildersnr=)Z
__future__rrrcollectionsrImportErrorZordereddictdictreZpip._vendor.sixrrZ_utilsr
compilerr=ZgetETreeModuler'r'r'r(<module>s
t
Back to Directory File Manager