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
46
47
48
49
50
51
52
53
54
55
U
H=®dÕã@sºddlmZmZmZddlmZddlmZddlm    Z    ddl
m Z ddl m Z dd    l mZd
d „ZGd d „d eƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„de jƒZdS)é)Úabsolute_importÚdivisionÚunicode_literals)Ú    text_type)Ú OrderedDict)Úetreeé)Ú
tag_regexpé)Úbase)Ú    _ihatexmlcCs*|dkr dSt|tƒr|S| dd¡SdS)NÚasciiÚstrict)Ú
isinstancerÚdecode)Ús©rúbD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\pip/_vendor/html5lib/treewalkers/etree_lxml.pyÚ
ensure_strs
 
rc@s,eZdZdd„Zdd„Zdd„Zdd„Zd    S)
ÚRootcCsÆ||_g|_z:|jjrD|j t|t|jjƒt|jjƒt|jj    ƒƒ¡Wnt
k
rZYnXz |  ¡}Wnt
k
r€|}YnX|  ¡dk    r˜|  ¡}q‚|dk    r¶|j |¡|  ¡}q˜d|_d|_dS©N)Z elementtreeÚchildrenZdocinfoZ internalDTDÚappendÚDoctyperZ    root_nameÚ    public_idZ
system_urlÚAttributeErrorÚgetrootZ getpreviousÚgetnextÚtextÚtail)ÚselfÚetÚnoderrrÚ__init__s,
 
 
 
ý
 
 
 
z Root.__init__cCs
|j|Sr)r©r ÚkeyrrrÚ __getitem__3szRoot.__getitem__cCsdSrr©r rrrr6sz Root.getnextcCsdS©Nr
rr'rrrÚ__len__9sz Root.__len__N)Ú__name__Ú
__module__Ú __qualname__r#r&rr)rrrrrsrc@seZdZdd„Zdd„ZdS)rcCs(||_||_||_||_d|_d|_dSr)Ú    root_nodeÚnamerÚ    system_idrr)r r-r.rr/rrrr#>s zDoctype.__init__cCs |jjdSr()r-rr'rrrrGszDoctype.getnextN©r*r+r,r#rrrrrr=s    rc@seZdZdd„Zdd„ZdS)Ú FragmentRootcs$‡fdd„|Dƒˆ_dˆ_ˆ_dS)Ncsg|]}tˆ|ƒ‘qSr)ÚFragmentWrapper)Ú.0Úchildr'rrÚ
<listcomp>Msz)FragmentRoot.__init__.<locals>.<listcomp>)rrr)r rrr'rr#LszFragmentRoot.__init__cCsdSrrr'rrrrPszFragmentRoot.getnextNr0rrrrr1Ksr1c@sTeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dS)r2cCsT||_||_t|jdƒr(t|jjƒ|_nd|_t|jdƒrJt|jjƒ|_nd|_dS)Nrr)r-ÚobjÚhasattrrrr)r Z fragment_rootr6rrrr#Us  zFragmentWrapper.__init__cCs t|j|ƒSr)Úgetattrr6)r r.rrrÚ __getattr__aszFragmentWrapper.__getattr__cCs6|jj}| |¡}|t|ƒdkr.||dSdSdSr()r-rÚindexÚlen)r ZsiblingsÚidxrrrrds
 
 zFragmentWrapper.getnextcCs
|j|Sr)r6r$rrrr&lszFragmentWrapper.__getitem__cCs
t|jƒSr)Úboolr6r'rrrÚ__bool__oszFragmentWrapper.__bool__cCsdSrrr'rrrÚ    getparentrszFragmentWrapper.getparentcCs
t|jƒSr©Ústrr6r'rrrÚ__str__uszFragmentWrapper.__str__cCs
t|jƒSrr@r'rrrÚ __unicode__xszFragmentWrapper.__unicode__cCs
t|jƒSr)r;r6r'rrrr){szFragmentWrapper.__len__N) r*r+r,r#r9rr&r>r?rBrCr)rrrrr2Ts r2c@s4eZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd S) Ú
TreeWalkercCsJt|tƒrt|ƒ|_t|ƒ}ntƒ|_t|ƒ}tj ||¡t     
¡|_ dSr) rÚlistÚsetÚfragmentChildrenr1rr ÚNonRecursiveTreeWalkerr#r Z InfosetFilterÚfilter)r Útreerrrr#€s
 
 
zTreeWalker.__init__c    Cs’t|tƒr:|\}}|dks&td|ƒ‚tjtt||ƒƒfSt|tƒrLtjfSt|t    ƒrjtj
|j |j |j fSt|tƒrŽt|dƒsŽtjt|jƒfS|jtjkrªtjt|jƒfS|jtjkrÎtjt|jƒdd…fSt t|jƒ¡}|rò| ¡\}}nd}t|jƒ}tƒ}t|j ¡ƒD]P\}}t|ƒ}t|ƒ}t |¡}|rV||| d¡| d¡f<n ||d|f<qtj ||j! "|¡|t#|ƒdkpŠ|jfSdS)N©rrú%Text nodes are text or tail, found %sÚtagr
éÿÿÿÿrr)$rÚtupleÚAssertionErrorr ZTEXTrr8rZDOCUMENTrZDOCTYPEr.rr/r2r7r6rMrÚCommentÚCOMMENTrÚEntityZENTITYr    ÚmatchÚgroupsrrEÚattribÚitemsÚgroupZELEMENTrIZ fromXmlNamer;)    r r"r%rTÚ    namespacerMÚattrsr.ÚvaluerrrÚgetNodeDetails‹s>
 
 
 
 
ÿzTreeWalker.getNodeDetailscCsBt|tƒrtdƒ‚t|ƒs(|js(tdƒ‚|jr6|dfS|dSdS)NzText nodes have no childrenzNode has no childrenrr)rrOrPr;r)r r"rrrÚ getFirstChild´s
zTreeWalker.getFirstChildcCsbt|tƒrL|\}}|dks&td|ƒ‚|dkrDt|ƒr>|dSdSn| ¡S|jrZ|dfS| ¡S)NrKrLrrr)rrOrPr;rr©r r"r%rrrÚgetNextSibling½s
zTreeWalker.getNextSiblingcCsJt|tƒr4|\}}|dks&td|ƒ‚|dkrB|Sn||jkrBdS| ¡S)NrKrLr)rrOrPrGr?r^rrrÚ getParentNodeÍs
 
zTreeWalker.getParentNodeN)r*r+r,r#r\r]r_r`rrrrrDs
 )    rDN)Ú
__future__rrrZpip._vendor.sixrÚ collectionsrÚlxmlrZtreebuilders.etreer    Úr r rÚobjectrrr1r2rHrDrrrrÚ<module>s          &    +