Files
aitsc/.venv/Lib/site-packages/sqlalchemy/event/__pycache__/registry.cpython-312.pyc

78 lines
12 KiB
Plaintext
Raw Normal View History

2025-02-23 09:07:52 +08:00
<EFBFBD>
2025-08-29 00:34:40 +08:00
<00><19>h-<00><01>P<00>UdZddlmZddlZddlZddlZddlmZddlmZddlmZddlm Z ddlm
2025-02-23 09:07:52 +08:00
Z
dd lm Z dd
lm Z dd lm Z dd lmZdd lmZddlmZddlZddlmZddlmZej*r ddlmZddlmZedefZeeeeeffZeeeefZedd<17><18>ZGd<19>d<17>Z e
dZ!ejDe#<23>Z$de%d< e
defZ&ejDe#<23>Z'de%d< d'd <20>Z( d(d!<21>Z) d)d"<22>Z* d*d#<23>Z+ d+d$<24>Z,Gd%<25>d&e e<00>Z-y),aJProvides managed registration services on behalf of :func:`.listen`
arguments.
By "managed registration", we mean that event listening functions and
other objects can be added to various collections in such a way that their
membership in all those collections can be revoked at once, based on
an equivalent :class:`._EventKey`.
<EFBFBD>)<01> annotationsN)<01>Any)<01>Callable)<01>cast)<01>Deque)<01>Dict)<01>Generic)<01>Iterable)<01>Optional)<01>Tuple)<01>TypeVar)<01>Union<6F>)<01>exc)<01>util<69>)<01> RefCollection)<01>
dispatcher.<2E>_ET<45> EventTarget)<01>boundc<01> <00>eZdZUdZdZded<y)rz<>represents an event target, that is, something we can listen on
either with that target as a class or as an instance.
Examples include: Connection, Mapper, Table, Session,
InstrumentedAttribute, Engine, Pool, Dialect.
<20>zdispatcher[Any]<5D>dispatchN)<06>__name__<5F>
2025-08-29 00:34:40 +08:00
__module__<EFBFBD> __qualname__<5F>__doc__<5F> __slots__<5F>__annotations__r<00><00>FD:\pythonpj\aitsc\.venv\Lib\site-packages\sqlalchemy/event/registry.pyrr2s<00><00><08><13>I<EFBFBD><1D>r!)zweakref.ref[RefCollection[Any]]<5D>weakref.ref[_ListenerFnType]z6Dict[_EventKeyTupleType, _RefCollectionToListenerType]<5D>_key_to_collectionr#z>Dict[weakref.ref[RefCollection[Any]], _ListenerToEventKeyType]<5D>_collection_to_keyc<01><00>tr|tvrytd|<00>}tj|<00>}|j<00>D]=}|tvs<01> t|}|j|<00>|r<01>)tj|<02><00>?y)Nz'weakref.ref[RefCollection[EventTarget]])r%r<00>pop<6F>valuesr$)<04>ref<65>listener_to_key<65>key<65> dispatch_regs r"<00>_collection_gcedr-gsr<00><00> <1D><13>,><3E>!><3E><0E>
2025-02-23 09:07:52 +08:00
<0E>8<>#<23>
><3E>C<EFBFBD>(<28>,<2C>,<2C>S<EFBFBD>1<>O<EFBFBD><1E>%<25>%<25>'<27><03> <0E>$<24> $<24>-<2D>c<EFBFBD>2<>L<EFBFBD> <18> <1C> <1C>S<EFBFBD> !<21><1F>"<22>&<26>&<26>s<EFBFBD>+<2B> (r!c<01><><00>|j}t|}|j}tj|j<00>}||vry|||<t
|}|||<y)NFT)<06>_keyr$r)<00>weakref<65>
_listen_fnr%)<07> event_key<65>ownerr+r,<00> owner_ref<65>
listen_refr*s r"<00>_stored_in_collectionr6xs`<00><00> <14>.<2E>.<2E>C<EFBFBD>%<25>c<EFBFBD>*<2A>L<EFBFBD><15> <09> <09>I<EFBFBD><18><1B><1B>Y<EFBFBD>1<>1<>2<>J<EFBFBD><10>L<EFBFBD> <20><14>(<28>L<EFBFBD><19><1B>(<28><19>3<>O<EFBFBD>"%<25>O<EFBFBD>J<EFBFBD><1F> r!c<01><00>|j}t|}tj|j<00>}|j}|j |d<00>|st|=|t vrt |}|j |d<00>yy<00>N)r/r$r0r)r1r'r%)r2r3r+r,r5r4r*s r"<00>_removed_from_collectionr9<00>sy<00><00> <14>.<2E>.<2E>C<EFBFBD>%<25>c<EFBFBD>*<2A>L<EFBFBD><18><1B><1B>Y<EFBFBD>1<>1<>2<>J<EFBFBD><15> <09> <09>I<EFBFBD><10><14><14>Y<EFBFBD><04>%<25> <17> <1E>s<EFBFBD> #<23><10>&<26>&<26>,<2C>Y<EFBFBD>7<><0F>
<18><1B><1B>J<EFBFBD><04>-<2D> 'r!c<01>"<00>|sy|j}|j}t|}t|}|D]?}tj|<07>} ||} t| }
||
vr
|
||k(sJ<00>||
|<| ||<<00>Ay#t$rY<00>NwxYw#t$rY<00>]wxYwr8)r)r%r0<00>KeyErrorr$) <0B>newowner<65>oldowner<65>elements<74> oldowner_ref<65> newowner_ref<65>old_listener_to_key<65>new_listener_to_key<65> listen_fnr5r+r,s r"<00>_stored_in_collection_multirD<00>s<><00><00>
<14><0E><1B><<3C><<3C>L<EFBFBD><1B><<3C><<3C>L<EFBFBD>,<2C>\<5C>:<3A><17>,<2C>\<5C>:<3A><17><1D> <09><1C>[<5B>[<5B><19>+<2B>
<EFBFBD> <15>%<25>j<EFBFBD>1<>C<EFBFBD>  <15>-<2D>c<EFBFBD>2<>L<EFBFBD> <18><<3C> '<27><1F> <0C>-<2D><1A>;<3B> ;<3B>;<3B>)3<>L<EFBFBD><1C> &<26>*-<2D><1B>J<EFBFBD>'<27>'<1E><><18> <15> <15> <15><><18> <15> <14> <15>s$<00> A3<02> B<02>3 A?<05>>A?<05> B<05> Bc<01><><00>|sy|j}t|}|D]A}tj|<04>}||}t|}|j |d<00>|r<01>;t|=<00>Cyr8)r)r%r0r$r')r3r>r4r*rCr5r+r,s r"<00>_clearrF<00>sd<00><00> <14><0E><15> <09> <09>I<EFBFBD>(<28><19>3<>O<EFBFBD><1D> <09><1C>[<5B>[<5B><19>+<2B>
<EFBFBD><1D>j<EFBFBD>)<29><03>)<29>#<23>.<2E> <0C><14><18><18><19>D<EFBFBD>)<29><1B>"<22>3<EFBFBD>'<27>r!c<01>"<00>eZdZUdZdZded<ded<ded<d ed
<d ed <d ed< d dd<10>Zedd<11><04>Zdd<12>Z d d<13>Z
d!d<14>Z d"d<15>Z d#d<16>Z d$ d%d<17>Zed&d<18><04>Z d'd<19>Z d(d<1A>Z d'd<1B>Zy))<29> _EventKeyz$Represent :func:`.listen` arguments.)<06>target<65>
identifier<EFBFBD>fn<66>fn_key<65>fn_wrap<61>dispatch_targetrrI<00>strrJ<00>_ListenerFnTyperK<00>_ListenerFnKeyTyperLrrN<00>Optional[_ListenerFnType]<5D>_fn_wrapNc<01><><00>||_||_||_t|tj
<00>r0t |j<00>t |j<00>f|_ nt |<03>|_ ||_
||_ yr8) rIrJrK<00>
isinstance<EFBFBD>types<65>
MethodType<EFBFBD>id<69>__func__<5F>__self__rLrMrN)<06>selfrIrJrKrNrSs r"<00>__init__z_EventKey.__init__<5F>s_<00><00><1D><04> <0B>$<24><04><0F><14><04><07> <15>b<EFBFBD>%<25>*<2A>*<2A> +<2B><1C>R<EFBFBD>[<5B>[<5B>/<2F>2<EFBFBD>b<EFBFBD>k<EFBFBD>k<EFBFBD>?<3F>:<3A>D<EFBFBD>K<EFBFBD><1C>R<EFBFBD>&<26>D<EFBFBD>K<EFBFBD><1F><04> <0C>.<2E><04>r!c<01>Z<00>t|j<00>|j|jfSr8)rXrIrJrL<00>r[s r"r/z_EventKey._keys<00><00><12>4<EFBFBD>;<3B>;<3B><0F><14><1F><1F>$<24>+<2B>+<2B>><3E>>r!c<01><><00>||jur|St|j|j|j|j
|<01><01>S<00>N)rS)r1rHrIrJrKrN)r[rMs r"<00> with_wrapperz_EventKey.with_wrappersA<00><00> <12>d<EFBFBD>o<EFBFBD>o<EFBFBD> %<25><17>K<EFBFBD><1C><14> <0B> <0B><14><0F><0F><14><07><07><14>$<24>$<24> <20> <0E> r!c<01><><00>||jur|St|j|j|j||j
<00><01>Sr`)rNrHrIrJrKrM)r[rNs r"<00>with_dispatch_targetz_EventKey.with_dispatch_targetsA<00><00> <1A>d<EFBFBD>2<>2<> 2<><17>K<EFBFBD><1C><14> <0B> <0B><14><0F><0F><14><07><07><1F><1D><1C><1C> <0E> r!c<01><><00>|jdd<02>}|jdd<02>}|jdd<02>}|j|j|j}}}t |j
|<07>} | j ||<05>}
|j|
<EFBFBD>}t |jj
j|j<00>} t| d<05>r| j<00>|s|rA|jtj|j|<04><06><00>j|i|<02><01>y|jj
j|g|<01><01>i|<02><01>y)N<>onceF<65>_once_unless_exception<6F>named<65>_sa_warn)<01>retry_on_exception)r'rNrJr1<00>getattrr<00>_adjust_fn_specra<00>_events<74>hasattrrhr<00> only_once<63>listen<65>_listen) r[<00>args<67>kwre<00>once_unless_exceptionrgrIrJrK<00>dispatch_collection<6F> adjusted_fn<66> stub_functions r"roz_EventKey.listens6<00><00><11>v<EFBFBD>v<EFBFBD>f<EFBFBD>e<EFBFBD>$<24><04> "<22><06><06>'?<3F><15> G<><1D><12><06><06>w<EFBFBD><05>&<26><05> <11> <20> <20> <10>O<EFBFBD>O<EFBFBD> <10>O<EFBFBD>O<EFBFBD><1F>
<EFBFBD><06> &<26>f<EFBFBD>o<EFBFBD>o<EFBFBD>z<EFBFBD>B<><1B>)<29>9<>9<>"<22>e<EFBFBD>D<> <0B><13> <20> <20><1B>-<2D><04><1F> <10> <20> <20> )<29> )<29> 1<> 1<>4<EFBFBD>?<3F>?<3F>
<EFBFBD> <0A> <13>=<3D>*<2A> -<2D> <19> "<22> "<22> $<24> <0F>(<28> <15>D<EFBFBD> <1D> <1D><14><0E><0E><18>O<EFBFBD>O<EFBFBD>8M<38><12> <0E><15>f<EFBFBD>d<EFBFBD>  "<22>!<21>  "<22> 2<>D<EFBFBD> <20> <20> )<29> )<29> 1<> 1<>$<24> D<><14> D<><12> Dr!c <01>h<00>|j}|tvr=tjd|j<00>d|j
<00>d|j <00>d<03><07><00>tj|<01>}|j<00>D]9\}}|<03>}|<04>}|<05><01>|<06><01>|j|j|<06><00><00>;y)NzNo listeners found for event z / <20> ) r/r$r<00>InvalidRequestErrorrIrJrKr'<00>items<6D>removera)r[r+r,<00>collection_ref<65> listener_ref<65>
collection<EFBFBD> listener_fns r"r{z_EventKey.remove<s<><00><00><12>i<EFBFBD>i<EFBFBD><03> <0E>(<28> (<28><15>)<29>)<29><17>;<3B>;<3B><04><0F><0F><14><17><17>:<3A><0E> <0E>
*<2A>-<2D>-<2D>c<EFBFBD>2<> <0C>,8<>,><3E>,><3E>,@<40> (<28>N<EFBFBD>L<EFBFBD>'<27>)<29>J<EFBFBD>&<26>.<2E>K<EFBFBD><19>%<25>+<2B>*A<><1A>!<21>!<21>$<24>"3<>"3<>K<EFBFBD>"@<40>A<> -Ar!c<01>&<00>|jtvS)z6Return True if this event key is registered to listen.)r/r$r^s r"<00>containsz_EventKey.containsMs<00><00><13>y<EFBFBD>y<EFBFBD>.<2E>.<2E>.r!c<01><00>|j|j}}t|j|<07>}|j |j<00>} |r| j <00>|r| j ||<01>y| j||<01>yr8)rNrJrjr<00>
for_modify<EFBFBD> _set_asyncio<69>insert<72>append)
r[<00> propagater<65>rg<00>retval<61>asynciorIrJrtr<>s
r"<00> base_listenz_EventKey.base_listenQsn<00><00>"<22>1<>1<>4<EFBFBD>?<3F>?<3F>
<EFBFBD><06>%<25>f<EFBFBD>o<EFBFBD>o<EFBFBD>z<EFBFBD>B<><1B>(<28>3<>3<>F<EFBFBD>O<EFBFBD>O<EFBFBD>D<>
<EFBFBD> <12> <16> #<23> #<23> %<25> <11> <16> <1D> <1D>d<EFBFBD>I<EFBFBD> .<2E> <16> <1D> <1D>d<EFBFBD>I<EFBFBD> .r!c<01>6<00>|jxs |jSr8)rMrKr^s r"r1z_EventKey._listen_fnfs<00><00><13>|<7C>|<7C>&<26>t<EFBFBD>w<EFBFBD>w<EFBFBD>&r!c<01>T<00>t||<01>r|j|j<00>yy<02>NTF)r6r<>r1<00>r[r3<00>list_s r"<00>append_to_listz_EventKey.append_to_listjs$<00><00>
!<21><14>u<EFBFBD> -<2D> <11>L<EFBFBD>L<EFBFBD><14><1F><1F> )<29><17>r!c<01>R<00>t||<01>|j|j<00>yr8)r9r{r1r<>s r"<00>remove_from_listz_EventKey.remove_from_listus<00><00>
!<21><14>u<EFBFBD>-<2D> <0A> <0C> <0C>T<EFBFBD>_<EFBFBD>_<EFBFBD>%r!c<01>T<00>t||<01>r|j|j<00>yyr<>)r6<00>
appendleftr1r<>s r"<00>prepend_to_listz_EventKey.prepend_to_list}s&<00><00>
!<21><14>u<EFBFBD> -<2D> <11> <1C> <1C>T<EFBFBD>_<EFBFBD>_<EFBFBD> -<2D><17>r!r8)
rIrrJrOrKrPrNrrSrR)<02>return<72>_EventKeyTupleType)rMrPr<><00>_EventKey[_ET])rNrr<>r<>)rqrrrrr<><00>None)r<>r<>)r<><00>bool)FFFNF) r<>r<>r<>r<>rgr<>r<>zOptional[bool]r<>r<>r<>r<>)r<>rP)r3<00>RefCollection[_ET]r<><00>Deque[_ListenerFnType]r<>r<>)r3r<>r<>r<>r<>r<>)rrrrrr r\<00>propertyr/rarcror{r<>r<>r1r<>r<>r<>rr!r"rHrH<00>sa<00><00>.<2E><06>I<EFBFBD> <10>K<EFBFBD><13>O<EFBFBD><17><17> <1E><1E><18><18>'<27>'<27>/3<> /<2F><13>/<2F><18>/<2F> <1C> /<2F>
<1D> /<2F> ,<2C> /<2F>$<0E>?<3F><0E>?<3F>
<0E>
<0E>E<01>@B<01>"/<2F>  <20><1C><1B>!%<25><1D> /<2F><17>/<2F><15>/<2F><14> /<2F>
<1F> /<2F> <16> /<2F>
<0E>/<2F>*<0E>'<27><0E>'<27> <19>!<21> <19>&<26> <19>
<0E> <19>&<26>!<21>&<26>&<26>&<26>
<0E> &<26> <19>!<21> <19>&<26> <19>
<0E> r!rH)r)zweakref.ref[Any]r<>r<>)r2r<>r3r<>r<>r<>)r2r<>r3r<>r<>r<>)r<r<>r=r<>r><00>Iterable[_ListenerFnType]r<>r<>)r3r<>r>r<>r<>r<>).r<00>
__future__r<00> collectionsrV<00>typingrrrrrr r
r r r rr0<00>rr<00> TYPE_CHECKING<4E>attrr<00>baserrP<00>intrQrOr<>rr<00>_RefCollectionToListenerType<70> defaultdict<63>dictr$r <00>_ListenerToEventKeyTyper%r-r6r9rDrFrHrr!r"<00><module>r<>s<><00><01><04>#<23><12> <0C> <0A><16><1B><17><18><17><1A><1B><1B><18><1A><18><0E><12><13> <09><17><17>#<23> <20><1A>3<EFBFBD><03>8<EFBFBD>$<24><0F><1A>3<EFBFBD><05>c<EFBFBD>3<EFBFBD>h<EFBFBD><0F>/<2F>0<><12><1A>3<EFBFBD><03>%7<>7<>8<><12><0E>e<EFBFBD>=<3D>)<29><03> <1E> <1E> $<24>$<24> <02><1C> <1C>K<EFBFBD><1B><1B>D<EFBFBD>!<21><13>J<><02> <04><1F>"<22><16><18><02><17><1C>K<EFBFBD><1B><1B>D<EFBFBD>!<21><13><02>"<22> <04>,<2C>"<10><1D><10>&8<><10> <09><10>*.<2E><1D>.<2E>&8<>.<2E> <09>.<2E>.!.<2E> <20>!.<2E> <20>!.<2E>(<28>!.<2E>
<EFBFBD> !.<2E>H(<28> <1D>(<28>'<27>(<28>
<EFBFBD>(<28>&k<19><07><03> <0C>kr!