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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
U
¡ý°da(ã@sždZddlmZddlZddlmZddlmZmZmZm    Z    m
Z
m Z dZ dZ dZd    Zd
Zd Zd Zd ZdZdZdZdZGdd„dƒZGdd„de eefƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGd d!„d!eƒZGd"d#„d#eƒZ Gd$d%„d%eƒZ!Gd&d'„d'eƒZ"Gd(d)„d)eƒZ#d*d*d+œd,d-„Z$d*d.d/œd0d1„Z%e%eƒe%eƒe%eƒe%eƒe%e ƒe%e!ƒe%e"ƒe%e#ƒdS)2zCSS selector structure items.é)Ú annotationsNé)Úpretty)ÚAnyÚIteratorÚHashableÚPatternÚIterableÚMapping)
ÚSelectorÚ SelectorNullÚ SelectorTagÚSelectorAttributeÚSelectorContainsÚ SelectorNthÚ SelectorLangÚ SelectorListÚ
NamespacesÚCustomSelectorsééééé é@é€éiics°eZdZUdZdZded<ded<ddd    œ‡fd
d „ Zed d œdd„ƒZdddœdd„Z    dddœdd„Z
dd œdd„Z ddddœdd„Z dd œdd„Z e Zdd œdd„Z‡ZS) Ú    Immutablez
Immutable.©Ú_hashútuple[str, ...]Ú    __slots__ÚintrrÚNone)ÚkwargsÚreturnc s^g}| ¡D]2\}}| t|ƒ¡| |¡tt|ƒ ||¡q tt|ƒ dtt|ƒƒ¡dS)ú Initialize.rN)ÚitemsÚappendÚtypeÚsuperrÚ __setattr__ÚhashÚtuple)Úselfr$ÚtempÚkÚv©Ú    __class__©úJd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\soupsieve/css_types.pyÚ__init__)s 
zImmutable.__init__z'type[Immutable]'©r%cCs|S)zGet base class.r4)Úclsr4r4r5Ú__base__3szImmutable.__base__Úbool)Úotherr%cs(tˆˆ ¡ƒo&t‡‡fdd„ˆjDƒƒS)úEqual.cs(g|] }|dkrtˆ|ƒtˆ|ƒk‘qSr©Úgetattr©Ú.0Úkey©r;r.r4r5Ú
<listcomp>>sz$Immutable.__eq__.<locals>.<listcomp>)Ú
isinstancer9Úallr!©r.r;r4rBr5Ú__eq__9sþzImmutable.__eq__cs*tˆˆ ¡ƒ p(t‡‡fdd„ˆjDƒƒS)r<cs(g|] }|dkrtˆ|ƒtˆ|ƒk‘qSrr=r?rBr4r5rCFsz$Immutable.__ne__.<locals>.<listcomp>)rDr9Úanyr!rFr4rBr5Ú__ne__AsþzImmutable.__ne__cCs|jS©zHash.r©r.r4r4r5Ú__hash__IszImmutable.__hash__Ústr)ÚnameÚvaluer%cCstd |jj¡ƒ‚dS)zPrevent mutability.z'{}' is immutableN)ÚAttributeErrorÚformatr3Ú__name__)r.rNrOr4r4r5r+NszImmutable.__setattr__c    s.d ˆjjd ‡fdd„ˆjdd…Dƒ¡¡S)úRepresentation.z{}({})z, csg|]}d |tˆ|ƒ¡‘qS)z{}={!r})rQr>)r@r0rKr4r5rCWsz&Immutable.__repr__.<locals>.<listcomp>Néÿÿÿÿ)rQr3rRÚjoinr!rKr4rKr5Ú__repr__Ss ÿzImmutable.__repr__cCstt|ƒƒdS)z Pretty print.N)ÚprintrrKr4r4r5r\szImmutable.pretty)rRÚ
__module__Ú __qualname__Ú__doc__r!Ú__annotations__r6Ú classmethodr9rGrIrLr+rVÚ__str__rÚ __classcell__r4r4r2r5r"s
 
rc@s|eZdZdZdddœdd„Zdddœdd„Zd    d
œd d „Zd d
œdd„Zdddœdd„Zd d
œdd„Z    dd
œdd„Z
e
Z dS)Ú ImmutableDictzHashable, immutable dictionary.z*dict[Any, Any] | Iterable[tuple[Any, Any]]r#©Úargr%cCs:| |¡t|ƒ|_ttdd„t|j ¡ƒDƒƒƒ|_dS)r&cSs$g|]\}}t|ƒ|t|ƒ|f‘qSr4)r))r@ÚxÚyr4r4r5rCmsz*ImmutableDict.__init__.<locals>.<listcomp>N)Ú    _validateÚdictÚ_dr,r-Úsortedr'r©r.rar4r4r5r6es
 
zImmutableDict.__init__cCs\t|tƒr4tdd„| ¡DƒƒsXtd |jj¡ƒ‚n$tdd„|DƒƒsXtd |jj¡ƒ‚dS)úValidate arguments.cSsg|]}t|tƒ‘qSr4©rDr©r@r1r4r4r5rCssz+ImmutableDict._validate.<locals>.<listcomp>ú{} values must be hashablecSs$g|]\}}t|tƒot|tƒ‘qSr4rj©r@r0r1r4r4r5rCusN©rDrerEÚvaluesÚ    TypeErrorrQr3rRrhr4r4r5rdos
 
zImmutableDict._validatez Iterator[Any]r7cCs
t|jƒS©z    Iterator.)ÚiterrfrKr4r4r5Ú__iter__xszImmutableDict.__iter__r"cCs
t|jƒS©zLength.)ÚlenrfrKr4r4r5Ú__len__}szImmutableDict.__len__r)rAr%cCs
|j|S)zGet item: `namespace['key']`.)rf)r.rAr4r4r5Ú __getitem__‚szImmutableDict.__getitem__cCs|jSrJrrKr4r4r5rL‡szImmutableDict.__hash__rMcCs d |j¡S)rSz{!r})rQrfrKr4r4r5rVŒszImmutableDict.__repr__N) rRrXrYrZr6rdrsrvrwrLrVr]r4r4r4r5r_bs
    r_cs8eZdZdZdddœ‡fdd„ Zdddœdd„Z‡ZS)    rz Namespaces.ú*dict[str, str] | Iterable[tuple[str, str]]r#r`cstƒ |¡dS©r&N©r*r6rhr2r4r5r6—szNamespaces.__init__cCs\t|tƒr4tdd„| ¡DƒƒsXtd |jj¡ƒ‚n$tdd„|DƒƒsXtd |jj¡ƒ‚dS)ricSsg|]}t|tƒ‘qSr4©rDrMrkr4r4r5rC sz(Namespaces._validate.<locals>.<listcomp>rlcSs$g|]\}}t|tƒot|tƒ‘qSr4r{rmr4r4r5rC¢sú*{} keys and values must be Unicode stringsNrnrhr4r4r5rdœs
 
zNamespaces._validate©rRrXrYrZr6rdr^r4r4r2r5r”srcs8eZdZdZdddœ‡fdd„ Zdddœdd„Z‡ZS)    rzCustom selectors.rxr#r`cstƒ |¡dSryrzrhr2r4r5r6©szCustomSelectors.__init__cCs\t|tƒr4tdd„| ¡DƒƒsXtd |jj¡ƒ‚n$tdd„|DƒƒsXtd |jj¡ƒ‚dS)ricSsg|]}t|tƒ‘qSr4r{rkr4r4r5rC²sz-CustomSelectors._validate.<locals>.<listcomp>rlcSs$g|]\}}t|tƒot|tƒ‘qSr4r{rmr4r4r5rC´sr|Nrnrhr4r4r5rd®s
 
zCustomSelectors._validater}r4r4r2r5r¦src s˜eZdZUdZdZded<ded<ded<ded    <d
ed <d ed <ded<ded<ded<ded<ded<ddddd
d ddddddœ ‡fdd„ Z‡ZS)r z    Selector.) ÚtagÚidsÚclassesÚ
attributesÚnthÚ    selectorsÚrelationÚrel_typeÚcontainsÚlangÚflagsrzSelectorTag | Noner~r rr€ztuple[SelectorAttribute, ...]rztuple[SelectorNth, ...]r‚ztuple[SelectorList, ...]rƒrr„ú
str | Noner…ztuple[SelectorContains, ...]r†ztuple[SelectorLang, ...]r‡r"rˆ© r~rr€rr‚rƒr„r…r†r‡rˆc s&tƒj|||||||||    |
| d dS)r&rŠNrz) r.r~rr€rr‚rƒr„r…r†r‡rˆr2r4r5r6ÌsõzSelector.__init__©rRrXrYrZr!r[r6r^r4r4r2r5r ¸s
r cs&eZdZdZddœ‡fdd„ Z‡ZS)r zNull Selector.r#r7cstƒ ¡dSryrzrKr2r4r5r6îszSelectorNull.__init__)rRrXrYrZr6r^r4r4r2r5r ësr cs@eZdZUdZdZded<ded<ddddœ‡fd    d
„ Z‡ZS) r z Selector tag.)rNÚprefixrrMrNr‰rŒr#)rNrŒr%cstƒj||ddS)r&)rNrŒNrz)r.rNrŒr2r4r5r6üszSelectorTag.__init__r‹r4r4r2r5r ôs
 
r csTeZdZUdZdZded<ded<ded<ded<ddddd    d
œ‡fd d „ Z‡ZS) rzSelector attribute rule.)Ú    attributerŒÚpatternÚxml_type_patternrrMrrŒzPattern[str] | NonerŽrr#)rrŒrŽrr%cstƒj||||ddS)r&)rrŒrŽrNrz)r.rrŒrŽrr2r4r5r6 s     üzSelectorAttribute.__init__r‹r4r4r2r5rs
rcs@eZdZUdZdZded<ded<dddd    œ‡fd
d „ Z‡ZS) rzSelector contains rule.)ÚtextÚownrr rr:r‘ú Iterable[str]r#)rr‘r%cstƒjt|ƒ|ddS)r&)rr‘N©r*r6r-)r.rr‘r2r4r5r6%szSelectorContains.__init__r‹r4r4r2r5rs
 
rcsheZdZUdZdZded<ded<ded<ded<ded    <d
ed <dddddd
d d œ‡fdd„ Z‡ZS)rzSelector nth type.)ÚaÚnÚbÚof_typeÚlastrƒrr"r”r:r•r–r—r˜rrƒr#)r”r•r–r—r˜rƒr%cstƒj||||||ddS)r&)r”r•r–r—r˜rƒNrz)r.r”r•r–r—r˜rƒr2r4r5r67súzSelectorNth.__init__r‹r4r4r2r5r+s
rcs`eZdZUdZdZded<ddœ‡fdd„ Zd    d
œd d „Zd d
œdd„Zd ddœdd„Z    ‡Z
S)rzSelector language rules.)Ú    languagesrr r™r’©r™cstƒjt|ƒddS)r&ršNr“)r.r™r2r4r5r6KszSelectorLang.__init__z Iterator[str]r7cCs
t|jƒSrq)rrr™rKr4r4r5rsPszSelectorLang.__iter__r"cCs
t|jƒSrt)rur™rKr4r4r5rvUszSelectorLang.__len__rM©Úindexr%cCs
|j|S©z    Get item.rš©r.rœr4r4r5rwZszSelectorLang.__getitem__© rRrXrYrZr!r[r6rsrvrwr^r4r4r2r5rDs
rcsxeZdZUdZdZded<ded<ded<dd
ddd d œ‡fd d„ Zddœdd„Zddœdd„Zdddœdd„Z    ‡Z
S)rzSelector list.)rƒÚis_notÚis_htmlrz#tuple[Selector | SelectorNull, ...]rƒr:r r¡NFz(Iterable[Selector | SelectorNull] | Noner#)rƒr r¡r%cs(tƒj|dk    rt|ƒntƒ||ddS)r&N)rƒr r¡r“)r.rƒr r¡r2r4r5r6is
ýzSelectorList.__init__z!Iterator[Selector | SelectorNull]r7cCs
t|jƒSrq)rrrƒrKr4r4r5rswszSelectorList.__iter__r"cCs
t|jƒSrt)rurƒrKr4r4r5rv|szSelectorList.__len__zSelector | SelectorNullr›cCs
|j|Sr)rƒržr4r4r5rwszSelectorList.__getitem__)NFFrŸr4r4r2r5r`s
ürr)Úpr%cs(ˆ ¡t‡fdd„ˆjdd…DƒƒfS)Ncsg|]}tˆ|ƒ‘qSr4r=)r@Ús©r¢r4r5rCˆsz_pickle.<locals>.<listcomp>rT)r9r-r!r¤r4r¤r5Ú_pickle‡sr¥r#)Úobjr%cCst |t¡dS)zAllow object to be pickled.N)ÚcopyregÚpickler¥)r¦r4r4r5Úpickle_register‹sr©)&rZÚ
__future__rr§rÚtypingrrrrr    r
Ú__all__Z    SEL_EMPTYZSEL_ROOTZ SEL_DEFAULTZSEL_INDETERMINATEZ    SEL_SCOPEZ SEL_DIR_LTRZ SEL_DIR_RTLZ SEL_IN_RANGEZSEL_OUT_OF_RANGEZ SEL_DEFINEDZSEL_PLACEHOLDER_SHOWNrr_rrr r r rrrrrr¥r©r4r4r4r5Ú<module>sL   @23    '