Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
signals.cpython-313.pyc68 linesDownload Raw Back to __pycache__
1�

2��j]���SrSSKJr SSKrSSKrSSKrSSKJr SSKJr SSK	J3r4 SSK	Jr SSK	Jr SS	K	J
r
 SS5K	Jr \
"S5r\"S5rSS
jr"SS5r"SS\\\5r"SS\\\5rSSjrSSjrg)aq6This module provides signals, which are a simple dispatching system that allows any number of interested parties7to subscribe to events ("signals").8 9This is similar to the Blinker library (https://pypi.org/project/blinker/), with the following changes:10  - provides only a small subset of Blinker's functionality11  - supports type hints12  - supports async receivers.13�)�annotationsN)�	Awaitable)�Callable)�Any)�cast)�Generic)�	ParamSpec)�TypeVar�P�Rc��[US5(a.[[R[R"U55$[R"U5$)zE14Like weakref.ref(), but using weakref.WeakMethod for bound methods.15�__self__)�hasattrr�weakref�ref�16WeakMethod)�objs �]D:\code\apps\devtools\python\user_packages\Python313\site-packages\mitmproxy/utils/signals.py�
make_weak_refrs<���s�J����G�K�K��!3�!3�C�!8�9�9��{�{�3���c�8�\rSrSrSSjrS	SjrS	SjrSrSrg)17�_SignalMixin�(c��/Ulg�N��	receivers)�selfs r�__init__�_SignalMixin.__init__)s	��68��rc�P�[U5nURRU5 g)zc18Register a signal receiver.19 20The signal will only hold a weak reference to the receiver function.21N)rr�append)r�receivers  r�connect�_SignalMixin.connect,s ��!��*�������h�'rc�j�URVs/sHo""5U:wdMUPM snUlgs snfrr)rr#�rs   r�22disconnect�_SignalMixin.disconnect5s'��%)�^�^�G�^��q�s�h��!�^�G����Gs�0�0c/��# �SnURHnU"5nUbU"U0UD6v� MSnM U(a,URVs/sHoU"5cMUPM snUlggs snf7f)NFTr)r�args�kwargs�cleanuprr's      r�notify�_SignalMixin.notify8sd������>�>�C���A��}���(��(�(���"��)-���K��A�1�3�a��K�D�N���K�s�AA)�A$�A$�A)rN)�return�None)r#rr0r1)	�__name__�23__module__�__qualname__�__firstlineno__rr$r(r.�__static_attributes__�rrrr(s��9�(�H�	Lrrc�L^�\rSrSrSU4SjjrSU4SjjrSU4SjjrSrU=r$)�_SyncSignal�Dc�^>�[R"U5(ae[TU]
U5 gr)�inspect�iscoroutinefunction�superr$�rr#�	__class__s  �rr$�_SyncSignal.connectEs&����.�.�x�8�8�8�8�
����!rc�$>�[TU]U5 gr�r>r(r?s  �rr(�_SyncSignal.disconnectI����
���8�$rc�x>�[TU]"U0UD6H%nUcM[R"U5(dM%e gr)r>r.r<�isawaitable)rr+r,�retr@s    �r�send�_SyncSignal.sendLs6����7�>�4�2�6�2�C��;�g�&9�&9�#�&>�&>�>�>�3rr7)r#�Callable[P, None]r0r1�r+zP.argsr,zP.kwargsr0r1�	r2r3r4r5r$r(rIr6�
__classcell__�r@s@rr9r9Ds���"�%�?�?rr9c�L^�\rSrSrSU4SjjrSU4SjjrSU4SjjrSrU=r$)�_AsyncSignal�Qc�$>�[TU]U5 gr)r>r$r?s  �rr$�_AsyncSignal.connectRs���
����!rc�$>�[TU]U5 grrCr?s  �rr(�_AsyncSignal.disconnectUrErc���># �[R"[TU]"U0UD6Vs/sH'nUcM[R24"U5(dM%UPM) sn6IShv�N gs snfN257fr)�asyncio�gatherr>r.r<rG)rr+r,�awsr@s    �rrI�_AsyncSignal.sendXsg�����n�n�!�7�>�4�:�6�:��:�C���'.�':�':�3�'?��:��26�	27�	28���	29�s'�#A(�A!�A!�A!�A(�A&�A(r7)r#�#Callable[P, Awaitable[None] | None]r0r1rLrMrOs@rrQrQQs���"�%�30�31rrQc�@�[[[[55$)a32Create a synchronous signal with the given function signature for receivers.33 34Example:35 36    s = SyncSignal(lambda event: None)  # all receivers must accept a single "event" argument.37    def receiver(event):38        print(event)39 40    s.connect(receiver)41    s.send("foo")  # prints foo42    s.send(event="bar")  # prints bar43 44    def receiver2():45        ...46 47    s.connect(receiver2)  # mypy complains about receiver2 not having the right signature48 49    s2 = SyncSignal(lambda: None)  # this signal has no arguments50    s2.send()51)rr9r��
receiver_specs r�52SyncSignalr`cs��,��A���
�.�.rc�@�[[[[55$)z�53Create an signal that supports both regular and async receivers:54 55Example:56 57    s = AsyncSignal(lambda event: None)58    async def receiver(event):59        print(event)60    s.connect(receiver)61    await s.send("foo")  # prints foo62)rrQrr^s r�AsyncSignalrb}s����Q����0�0r)rrr0zweakref.ReferenceType)r_rKr0z_SyncSignal[P])r_r\r0z_AsyncSignal[P])�__doc__�63__future__rrXr<r�collections.abcrr�typingrrrr	r64rrrrr9rQr`rbr7rr�<module>rgs~���#����%�$������
�c�N���C�L�� �L�L�865?�'�!�*�l�66?�67�7�1�:�|�68�$/�41r
codekingpro/portable-devtools · Team Ai