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
U
¸ý°dO%ã@s$ddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm    Z    dd    lm
Z
dd
lm Z dd lm Z dd lm Z dd lmZddlZddlmZddlmZe rØddlmZddlmZededZededZGdd„dƒZGdd„deƒZddddœd d!„ZdS)"é)Ú annotations)ÚAny)Úcast)ÚDict)ÚIterable)ÚIterator)ÚList)ÚNoReturn)ÚOptional)ÚSet)ÚTuple)Ú TYPE_CHECKING)ÚTypeVarNé)Úutilé)Úexc)Ú_IdentityKeyType)Ú InstanceStateÚ_T)ÚboundÚ_Oc@sleZdZUded<ded<ded<ddœd    d
„Zddœd d „Zd dœdd„Zdddœdd„Zdddœdd„Zdddœdd„Z    dddœdd„Z
dDdd d d!œd"d#„Z dd$dœd%d&„Z d'dœd(d)„Z d*dœd+d,„Zd-d$dœd.d/„Zdddœd0d1„Zdddœd2d3„Zdddd4œd5d6„Zdddœd7d8„Zdddœd9d:„Zddœd;d<„Zddœd=d>„Zdddœd?d@„ZdAdœdBdC„ZdS)EÚ IdentityMapzweakref.ref[IdentityMap]Ú_wrz Dict[_IdentityKeyType[Any], Any]Ú_dictzSet[InstanceState[Any]]Ú    _modifiedÚNone©ÚreturncCsi|_tƒ|_t |¡|_dS©N)rÚsetrÚweakrefÚrefr©Úself©r%úNd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\sqlalchemy/orm/identity.pyÚ__init__+szIdentityMap.__init__cCs
t|_dSr)Ú_killedÚ_add_unpresentr#r%r%r&Ú_kill0szIdentityMap._killúList[InstanceState[Any]]cCs
tƒ‚dSr©ÚNotImplementedErrorr#r%r%r&Ú
all_states3szIdentityMap.all_statesúInstanceState[Any]Úbool©ÚstatercCs
tƒ‚dSrr,©r$r2r%r%r&Úcontains_state6szIdentityMap.contains_stateú_IdentityKeyType[Any]©ÚkeyrcCs
tƒ‚dSrr,©r$r7r%r%r&Ú __contains__9szIdentityMap.__contains__cCs
tƒ‚dSrr,r3r%r%r&Ú safe_discard<szIdentityMap.safe_discardú_IdentityKeyType[_O]rcCs
tƒ‚dSrr,r8r%r%r&Ú __getitem__?szIdentityMap.__getitem__Nú Optional[_O]©r7ÚdefaultrcCs
tƒ‚dSrr,)r$r7r?r%r%r&ÚgetBszIdentityMap.getúOptional[InstanceState[_O]]cCs
tƒ‚dSrr,r8r%r%r&Úfast_get_stateGszIdentityMap.fast_get_statezIterable[_IdentityKeyType[Any]]cCs
|j ¡Sr)rÚkeysr#r%r%r&rCLszIdentityMap.keyszIterable[object]cCs
tƒ‚dSrr,r#r%r%r&ÚvaluesOszIdentityMap.valuesúInstanceState[_O]cCs
tƒ‚dSrr,r3r%r%r&ÚreplaceRszIdentityMap.replacecCs
tƒ‚dSrr,r3r%r%r&ÚaddUszIdentityMap.addcCs
tƒ‚dSrr,r3r%r%r&Ú _fast_discardXszIdentityMap._fast_discard©r2r7rcCs| |¡dS)zUoptional inlined form of add() which can assume item isn't present
        in the mapN)rG©r$r2r7r%r%r&r)[szIdentityMap._add_unpresentcCs|j|_|jr|j |¡dSr)rÚ_instance_dictÚmodifiedrrGr3r%r%r&Ú_manage_incoming_statebsz"IdentityMap._manage_incoming_statecCs|`|jr|j |¡dSr)rKrLrÚdiscardr3r%r%r&Ú_manage_removed_statehsz!IdentityMap._manage_removed_statecCs|jSr)rr#r%r%r&Ú _dirty_statesmszIdentityMap._dirty_statescCs
t|jƒS)z[return True if any InstanceStates present have been marked
        as 'modified'.
 
        )r0rr#r%r%r&Úcheck_modifiedpszIdentityMap.check_modifiedcCs||kSrr%r8r%r%r&Úhas_keywszIdentityMap.has_keyÚintcCs
t|jƒSr)Úlenrr#r%r%r&Ú__len__zszIdentityMap.__len__)N)Ú__name__Ú
__module__Ú __qualname__Ú__annotations__r'r*r.r4r9r:r<r@rBrCrDrFrGrHr)rMrOrPrQrRrUr%r%r%r&r%s2
ÿrc@seZdZUded<dddœdd„Zdd    dœd
d „Zd d    d œdd„Zd dd œdd„Zd d    d œdd„Zd dddœdd„Z    dddœdd„Z
d4ddddœdd „Z d!d"œd#d$„Z d%d"œd&d'„Z d(d"œd)d*„Zd+d"œd,d-„Zd dd œd.d/„Zd dd œd0d1„Zd dd œd2d3„ZdS)5ÚWeakInstanceDictz/Dict[_IdentityKeyType[Any], InstanceState[Any]]rr;rr6cCs,td|j|ƒ}| ¡}|dkr(t|ƒ‚|S©NrE)rrÚobjÚKeyError©r$r7r2Úor%r%r&r<s
zWeakInstanceDict.__getitem__r5r0cCsLz(||jkr |j|}| ¡}nWdSWntk
r>YdSX|dk    SdS©NF)rr\r]r^r%r%r&r9ˆs
 
 
 
zWeakInstanceDict.__contains__r/r1cCsR|j|jkrJtr|jdk    st‚z|j|j|kWStk
rFYdSXndSdSr`)r7rr ÚAssertionErrorr]r3r%r%r&r4”s 
zWeakInstanceDict.contains_statezOptional[InstanceState[Any]]cCs€|jdk    st‚|j|jkrbz|j|j}}Wntk
rFd}YqfX||k    r\| |¡qfdSnd}||j|j<| |¡|Sr)r7rarr]rOrM)r$r2ÚexistingZexisting_non_noner%r%r&rFŸs 
 
zWeakInstanceDict.replacecCs|j}|dk    st‚||jkrxz|j|}Wntk
r>Yn:X||k    rt| ¡}|dk    rxt dt |¡|jf¡‚ndS||j|<|     |¡dS)NzZCan't attach instance %s; another instance with key %s is already present in this session.FT)
r7rarr]r\Úsa_excÚInvalidRequestErrorÚorm_utilÚ    state_strrM)r$r2r7Zexisting_stater_r%r%r&rGµs& 
ýÿ
 
zWeakInstanceDict.addrrIcCs||j|<|j|_dSr)rrrKrJr%r%r&r)Ïs
zWeakInstanceDict._add_unpresentrAcCs |j |¡Sr)rr@r8r%r%r&rBÖszWeakInstanceDict.fast_get_stateNr=r>cCsX||jkr|Sztd|j|ƒ}Wntk
r:|YSX| ¡}|dkrP|S|SdSr[)rrr]r\)r$r7r?r2r_r%r%r&r@Ûs
 
zWeakInstanceDict.getz6List[Tuple[_IdentityKeyType[Any], InstanceState[Any]]]rcCsJ| ¡}g}|D]4}| ¡}|j}|dk    s.t‚|dk    r| ||f¡q|Sr)r.r\r7raÚappend)r$rDÚresultr2Úvaluer7r%r%r&Úitemsës zWeakInstanceDict.itemsz List[object]cCs4| ¡}g}|D]}| ¡}|dk    r| |¡q|Sr)r.r\rg)r$rDrhr2rir%r%r&rDös zWeakInstanceDict.valueszIterator[_IdentityKeyType[Any]]cCs t| ¡ƒSr)ÚiterrCr#r%r%r&Ú__iter__szWeakInstanceDict.__iter__r+cCst|j ¡ƒSr)ÚlistrrDr#r%r%r&r.szWeakInstanceDict.all_statescCsP|j}|dk    st‚z|j|}Wntk
r4YnX||krL|j |d¡dSr)r7rarr]Úpop©r$r2r7Ústr%r%r&rHs zWeakInstanceDict._fast_discardcCs| |¡dSr)r:r3r%r%r&rNszWeakInstanceDict.discardcCsd|j}||jkr`|dk    st‚z|j|}Wntk
r>Yn"X||kr`|j |d¡| |¡dSr)r7rrar]rnrOror%r%r&r:s
 zWeakInstanceDict.safe_discard)N)rVrWrXrYr<r9r4rFrGr)rBr@rjrDrlr.rHrNr:r%r%r%r&rZ~s"
  ÿ 
rZr/r5r    rIcCstjdt |¡dd‚dS)Nz‚Object %s cannot be converted to 'persistent' state, as this identity map is no longer valid.  Has the owning Session been closed?Zlkrp)Úcode)rcrdrerf)r2r7r%r%r&r(&s þür()Ú
__future__rÚtypingrrrrrrr    r
r r r rr!ÚrrerrcÚ_typingrr2rrÚobjectrrrZr(r%r%r%r&Ú<module>s0                   Y)