zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
U
H=®dÇã@sjddlmZmZmZddlmZddlZddlmZddl    m
Z
ddl m Z e  d    ¡Zd
d „Ze eƒZdS) é)Úabsolute_importÚdivisionÚunicode_literals)Ú OrderedDictN)Ú string_typesé)Úbaseé)ÚmoduleFactoryFactoryz {([^}]*)}(.*)cs,|}| d¡j‰G‡fdd„dtjƒ}tƒS)NZasdcs4eZdZdZ‡fdd„Zdd„Zdd„Zdd    „Zd
S) z#getETreeBuilder.<locals>.TreeWalkeraËGiven 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)
        c sHt|tƒr2|\}}}}|dkr.tjt||ƒfS|}t|dƒsD| ¡}|jdkrVtjfS|jdkr|tj    |j
|  d¡|  d¡fS|jˆkr’tj |j
fSt|jt ƒs¬tt|jƒƒ‚t |j¡}|rÊ| ¡\}}n
d}|j}tƒ}t|j ¡ƒD]>\}    }
t |    ¡}|r|
|| d¡| d¡f<qè|
|d|    f<qètj|||t|ƒp@|j
fSdS)    N©ÚtextÚtailÚtag)Z DOCUMENT_ROOTZDOCUMENT_FRAGMENTz
<!DOCTYPE>ÚpublicIdÚsystemIdrr    )Ú
isinstanceÚtuplerZTEXTÚgetattrÚhasattrÚgetrootrZDOCUMENTZDOCTYPEr ÚgetÚCOMMENTrÚAssertionErrorÚtypeÚ
tag_regexpÚmatchÚgroupsrÚlistÚattribÚitemsÚgroupZELEMENTÚlen) ÚselfÚnodeÚeltÚ_ÚflagrÚ    namespacerÚattrsÚnameÚvalue©ZElementTreeCommentType©ú]D:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\pip/_vendor/html5lib/treewalkers/etree.pyÚgetNodeDetails s@
 
 
 
ÿ
 
ÿz2getETreeBuilder.<locals>.TreeWalker.getNodeDetailscSstt|tƒr|\}}}}n|dgdf\}}}}|dkr8dS|jrJ|||dfSt|ƒrl| |¡|dd|dfSdSdS)Nr r r)rrr r!Úappend©r"r#ÚelementÚkeyÚparentsr&r,r,r-Ú getFirstChildHs
 
z1getETreeBuilder.<locals>.TreeWalker.getFirstChildcSsžt|tƒr|\}}}}ndS|dkrLt|ƒrF| |¡|dd|dfSdSnN|jrf|dkrf|||dfS|t|dƒdkr–|d|d|d|dfSdSdS)Nr rr éÿÿÿÿr)rrr!r/r r0r,r,r-ÚgetNextSiblingYs
 
 z2getETreeBuilder.<locals>.TreeWalker.getNextSiblingcSs‚t|tƒr|\}}}}ndS|dkr:|s,|S|||dfSnD| ¡}|sJ|St|dƒ |¡dksdt‚|t|dƒ |¡|dfSdS)Nr r5r)rrÚpoprÚcountrÚindex)r"r#r1r2r3r&Úparentr,r,r-Ú getParentNodems
z1getETreeBuilder.<locals>.TreeWalker.getParentNodeN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__r.r4r6r;r,r+r,r-Ú
TreeWalkers
 (r@)ÚCommentrrZNonRecursiveTreeWalkerÚlocals)ZElementTreeImplementationÚ ElementTreer@r,r+r-ÚgetETreeBuilders nrD)Ú
__future__rrrÚ collectionsrÚreZpip._vendor.sixrÚrÚ_utilsr
ÚcompilerrDÚgetETreeModuler,r,r,r-Ú<module>s    
u