zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
68
69
70
71
72
73
74
75
76
77
78
U
¸ý°dÑ!ã@s¸dZddlmZddlZddlZddlZddlZddlZddlZddl    Z    ddl    m
Z
ddl    m Z ddl    m Z ddl    m Z ddl    mZdd    l    mZdd
l    mZdd l    mZdd l    mZdd l    mZddl    mZejdkZejdkZejdkZejdkZejdkZe ¡dkZe ¡dkZej d¡Zej d¡Z de !¡ "¡kZ#ej$dkZ%e&eƒZ'ej(Z)Gdd„de    j*ƒZ+dddœdd„Z,e    j-s†er”dd l.m/Z0nddl0Z0e    j-sªer²ej1Z2nd!d!d!d"œd#d$„Z2erÐe3Z4ne5ƒZ6dd%l7m8Z8e6fd&d'„Z4d(d)„Z9d*d+„Z:d,d-d.œd/d0„Z;d-d,d.œd1d2„Z<d-d,d,d3œd4d5„Z=d6d7„Z>dRd8d9„Z?dddd:iie@d;d<„d=d<„d>d<„d?d<„e?f d@dAdAdBdCdDdEdFdFdFdGdGdGd,dHœdIdJ„ZAdKdLdMœdNdO„ZBdKdLdMœdPdQ„ZCdS)Sz1Handle Python version/platform incompatibilities.é)Ú annotationsN)ÚAny)ÚCallable)ÚDict)ÚIterable)ÚList)ÚMapping)ÚOptional)ÚSequence)ÚSet)ÚTuple)ÚType)éé )ré )ré
)ré    )réÚPyPyÚCPythonÚwinÚdarwinZaarchlc@sFeZdZUded<ded<ded<ded<ded<d    ed
<d    ed <d S) Ú FullArgSpecú    List[str]Úargsú Optional[str]ÚvarargsÚvarkwzOptional[Tuple[Any, ...]]ÚdefaultsÚ
kwonlyargszDict[str, Any]ÚkwonlydefaultsrN)Ú__name__Ú
__module__Ú __qualname__Ú__annotations__©r%r%úMd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\sqlalchemy/util/compat.pyr3s
rzCallable[..., Any])ÚfuncÚreturnc    CsÚt |¡r|j}t |¡s(t|›dƒ‚|j}t |¡sFt|›dƒ‚|j}|j}|j    }t
|d|…ƒ}t
||||…ƒ}||7}d}|j tj @r¦|j|}|d}d}|j tj @rÀ|j|}t||||j||j|jƒS)z9Fully vendored version of getfullargspec from Python 3.3.z is not a Python functionz is not a code objectNé)ÚinspectÚismethodÚ__func__Ú
isfunctionÚ    TypeErrorÚ__code__ÚiscodeÚ co_argcountÚ co_varnamesÚco_kwonlyargcountÚlistÚco_flagsÚ
CO_VARARGSÚCO_VARKEYWORDSrÚ __defaults__Ú__kwdefaults__r$)    r'ÚcoÚnargsÚnamesÚnkwargsrrrrr%r%r&Úinspect_getfullargspec=s:
 
 
 
 
ùr>)ÚmetadataÚdict)ÚaÚbr(cCs| ¡}| |¡|S©N)ÚcopyÚupdate©rArBr%r%r&Ú
dict_unionns
rG)Ú AsyncIteratorcÃs^t|tƒstdt|ƒ›ƒ‚t|ƒj}z||ƒIdHWStk
rX|tkrP‚|YSXdS)z9vendored from https://github.com/python/cpython/pull/8895z%anext expected an AsyncIterator, got N)Ú
isinstancerHr.ÚtypeÚ    __anext__ÚStopAsyncIterationÚ _NOT_PROVIDED)Zasync_iteratorÚdefaultZanxtr%r%r&Úanext_{s
 ÿ
rOcCs4t ¡}tjs$t|dƒr$|j|dS| |d¡SdS)NÚselect)Úgroupr%)Úimportlib_metadataZ entry_pointsÚtypingÚ TYPE_CHECKINGÚhasattrrPÚget)rQÚepr%r%r&Úimportlib_metadata_get‹s rXcCs
| d¡S)Nzlatin-1)Úencode)Úsr%r%r&rB“srBÚstrÚbytes)Úxr(cCst | d¡¡S©NÚascii)Úbase64Ú    b64decoderY©r]r%r%r&ra—sracCst |¡ d¡Sr^)r`Ú    b64encodeÚdecoderbr%r%r&rc›src)ÚtextÚencodingr(cCs|j|ddS)NÚbackslashreplace)Úerrors)rd)rerfr%r%r&Údecode_backslashreplaceŸsricCs||k||kSrCr%rFr%r%r&Úcmp£srjcCs”t|tƒr|St|ddƒdkr6t|ƒ dd¡ dd¡St|tƒrh|jd|fkrXt|jƒS|jd|jSt|tj    ƒr„t|ƒ dd¡St|ƒ dd¡S)    zvendored from python 3.7r"NrSztyping.Úú~ÚbuiltinsÚ.)
rIr[ÚgetattrÚreprÚreplacerJr"r#rSÚTypeVar)Ú
annotationÚ base_moduler%r%r&Ú_formatannotation§s
 
 
 rur%cCsd|S)NÚ*r%©Únamer%r%r&Ú<lambda>ÁórycCsd|S)Nz**r%rwr%r%r&ryÂrzcCs dt|ƒS)Nú=)rp)Úvaluer%r%r&ryÃrzcCs dt|ƒS)Nz -> )r[)rer%r%r&ryÄrzrrzOptional[Sequence[Any]]zOptional[Sequence[str]]zOptional[Mapping[str, Any]]zMapping[str, Any]zCallable[[str], str]zCallable[[Any], str])rrrrrr rÚ    formatargÚ formatvarargsÚ formatvarkwÚ formatvalueÚ formatreturnsÚformatannotationr(c s8|pi}ˆpi‰‡‡‡fdd„} g}|r:t|ƒt|ƒ}nd}t|ƒD]:\}}| |ƒ}|rv||krv||
|||ƒ}| |¡qF|dk    rž| || |ƒƒ¡n|r¬| d¡|rè|D]2}| |ƒ}|rÜ||krÜ||
||ƒ7}| |¡q´|dk    r| |    | |ƒƒ¡dd |¡d}d    ˆkr4|| ˆˆd    ƒƒ7}|S)
a>Copy formatargspec from python 3.7 standard library.
 
    Python 3 has deprecated formatargspec and requested that Signature
    be used instead, however this requires a full reimplementation
    of formatargspec() in terms of creating Parameter objects and such.
    Instead of introducing all the object-creation overhead and having
    to reinvent from scratch, just copy their compatibility routine.
 
    Ultimately we would need to rewrite our "decorator" routine completely
    which is not really worth it right now, until all Python 2.x support
    is dropped.
 
    cs(ˆ|ƒ}|ˆkr$|dˆˆ|ƒ7}|S)Nz: r%)ÚargÚresult©rr‚r}r%r&ÚformatargandannotationØsz5inspect_formatargspec.<locals>.formatargandannotationéÿÿÿÿNrvú(z, ú)r()ÚlenÚ    enumerateÚappendÚjoin)rrrrrr rr}r~rr€rr‚r†ÚspecsÚ firstdefaultÚirƒÚspecÚ    kwonlyargr„r%r…r&Úinspect_formatargspec¸s8  
 
 
r“z    Type[Any]z Iterable[dataclasses.Field[Any]])Úclsr(cCst |¡rt |¡SgSdS)zÈReturn a sequence of all dataclasses.Field objects associated
    with a class as an already processed dataclass.
 
    The class must **already be a dataclass** for Field objects to be returned.
 
    N)Ú dataclassesÚ is_dataclassÚfields)r”r%r%r&Údataclass_fieldss
 
r˜csJt |¡rBtƒ‰|jD]}ˆ t|ƒ¡q‡fdd„t |¡DƒSgSdS)zóReturn a sequence of all dataclasses.Field objects associated with
    an already processed dataclass, excluding those that originate from a
    superclass.
 
    The class must **already be a dataclass** for Field objects to be returned.
 
    csg|]}|ˆkr|‘qSr%r%)Ú.0Úf©Z super_fieldsr%r&Ú
<listcomp>sz*local_dataclass_fields.<locals>.<listcomp>N)r•r–ÚsetÚ    __bases__rEr˜r—)r”Úsupr%r›r&Úlocal_dataclass_fieldss     
 
r )N)DÚ__doc__Ú
__future__rr`r•r*ÚoperatorÚplatformÚsysrSrrrrrrr    r
r r r Ú version_infoZpy312Zpy311Zpy310Zpy39Zpy38Úpython_implementationÚpypyÚcpythonÚ
startswithÚwin32ZosxÚmachineÚlowerÚarmÚmaxsizeZis64bitÚboolZhas_refcount_gcÚ
attrgetterZ dottedgetterÚ
NamedTuplerr>rTÚ    importlibr?rRÚor_rGZanextrOÚobjectrMÚcollections.abcrHrXrBrarcrirjrur[r“r˜r r%r%r%r&Ú<module>    s†            
 
 
 
 
 
 
&  
ó*H