Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
_app.cpython-313.pyc220 linesDownload Raw Back to __pycache__
1�

2q�j�\����SSKrSSKrSSKrSSKrSSKJrJrJrJr SSK	J3r4 SSKJr SSK
JrJr SSKJrJrJr SSKJr SS	KJr SS5KJrJrJrJr S/rSqS\S
S4Sjr "SS5r!g)�N)�Any�Callable�Optional�Union�)�_logging)�ABNF)�	WebSocket�getdefaulttimeout)�"WebSocketConnectionClosedException�WebSocketException�WebSocketTimeoutException)�SSLEOFError)�	parse_url)�6Dispatcher�DispatcherBase�
SSLDispatcher�WrappedDispatcher�WebSocketApp�reconnectInterval�returnc��Uqg�N)�	RECONNECT)rs �TD:\code\apps\devtools\python\user_packages\Python313\site-packages\websocket/_app.py�
set_reconnectr+s��!�I�c#��\rSrSrSrS:S\S\\\\\	\\4\7/\\\\	\\4444S\\8S/S4S\\9S/S4S\\10S\/S4S	\\11S\/S4S12\\13S\\/S4S\\14S\\15S
\\16S\S\\17S\\S\\\S\\18S\\
RSS4"Sjjr\R 4S\\\4S\SS4SjjrS\SS4SjrS\\\4SS4SjrS;SjrS;SjrS;SjrS;SjrS rS<S!\S"\	S#\\\4S$\\\\4S%\S&\S'\\\4S(\S)\S*\\S+\S,\S-\S.\S/\S0\S\4"S1jjrS=S$\\\\4S2\\S3\S4\19S\\ \!\"4420S5jjr#S6\S\4S7jr$S;S8jr%S9r&g)>r�0zW21Higher level of APIs are provided. The interface is like JavaScript WebSocket object.22N�url�header�on_open�on_reconnect�23on_message�on_error�on_close�on_ping�on_pong�on_cont_message�keep_running�get_mask_key�cookie�subprotocols�on_data�socketrc���XlUbUO/UlX�lX0lX@lXPlX�lX`lXplX�l	X�l24X�lSUlX�l
SUl[S5Ul[S5UlSUlSUl[S5UlSUlSUlX�lUUlSUlSUl[6R8"5Ulg)a�	25WebSocketApp initialization26 27Parameters28----------29url: str30    Websocket url.31header: list or dict or Callable32    Custom header for websocket handshake.33    If the parameter is a callable object, it is called just before the connection attempt.34    The returned dict or list is used as custom header value.35    This could be useful in order to properly setup timestamp dependent headers.36on_open: function37    Callback object which is called at opening websocket.38    on_open has one argument.39    The 1st argument is this class object.40on_reconnect: function41    Callback object which is called at reconnecting websocket.42    on_reconnect has one argument.43    The 1st argument is this class object.44on_message: function45    Callback object which is called when received data.46    on_message has 2 arguments.47    The 1st argument is this class object.48    The 2nd argument is utf-8 data received from the server.49on_error: function50    Callback object which is called when we get error.51    on_error has 2 arguments.52    The 1st argument is this class object.53    The 2nd argument is exception object.54on_close: function55    Callback object which is called when connection is closed.56    on_close has 3 arguments.57    The 1st argument is this class object.58    The 2nd argument is close_status_code.59    The 3rd argument is close_msg.60on_cont_message: function61    Callback object which is called when a continuation62    frame is received.63    on_cont_message has 3 arguments.64    The 1st argument is this class object.65    The 2nd argument is utf-8 string which we get from the server.66    The 3rd argument is continue flag. if 0, the data continue67    to next frame data68on_data: function69    Callback object which is called when a message received.70    This is called before on_message or on_cont_message,71    and then on_message or on_cont_message is called.72    on_data has 4 argument.73    The 1st argument is this class object.74    The 2nd argument is utf-8 string which we get from the server.75    The 3rd argument is data type. ABNF.OPCODE_TEXT or ABNF.OPCODE_BINARY will be came.76    The 4th argument is continue flag. If 0, the data continue77keep_running: bool78    This parameter is obsolete and ignored.79get_mask_key: function80    A callable function to get new mask keys, see the81    WebSocket.set_mask_key's docstring for more information.82cookie: str83    Cookie value.84subprotocols: list85    List of available sub protocols. Default is None.86socket: socket87    Pre-initialized stream socket.88NFr�)r r!r,r"r#r$r.r%r&r'r(r)r*r+�sock�float�last_ping_tm�last_pong_tm�ping_thread�	stop_ping�
ping_interval�ping_timeout�ping_payloadr-�prepared_socket�has_errored�has_done_teardown�	threading�Lock�has_done_teardown_lock)�selfr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/s                 r�__init__�WebSocketApp.__init__5s���t�� &� 2�f��������(��$���� �
� �
�����.��!���(��)-��	�!�!�H���!�!�H���7;���48���"�1�X���9=������(��%��� ���!&���&/�n�n�&6��#r�data�opcodec�z�UR(aURRX5S:Xa[S5eg)z�89send message90 91Parameters92----------93data: str94    Message to send. If you set opcode to OPCODE_TEXT,95    data must be utf-8 string or unicode.96opcode: int97    Operation code of data. Default is OPCODE_TEXT.98r�Connection is already closed.N)r2�sendr)rArDrEs   rrH�WebSocketApp.send�s0���y�y�D�I�I�N�N�4�8�A�=�4�5T�U�U�>r�	text_datac��UR(a.URRU[R5S:Xa[	S5eg)z99Sends UTF-8 encoded text.100rrGN)r2rHr	�OPCODE_TEXTr)rArJs  r�	send_text�WebSocketApp.send_text�s9���y�y�D�I�I�N�N�9�d�6F�6F�G�1�L�4�5T�U�U�Mrc��UR(a.URRU[R5S:Xa[	S5eg)z101Sends a sequence of bytes.102rrGN)r2rHr	�
OPCODE_BINARYr)rArDs  r�103send_bytes�WebSocketApp.send_bytes�s9���y�y�D�I�I�N�N�4��1C�1C�D��I�4�5T�U�U�Jrc�|�SUlUR(a$URR"S0UD6 SUlgg)z104Close websocket connection.105FN�)r*r2�close)rA�kwargss  rrU�WebSocketApp.close�s2��"����9�9��I�I�O�O�%�f�%��D�I�rc��[S5=UlUl[R"5Ul[R"URS9UlSURl	URR5 g)Nr)�targetT)r3r4r5r>�Eventr7�Thread�106_send_pingr6�daemon�start�rAs r�_start_ping_thread�WebSocketApp._start_ping_thread�s[��05�a��8���D�-�"���*���$�+�+�4�?�?�C���"&���������� rc��UR(aURR5 UR(aoURR5(aPURR	S5 URR5(a[107R"S5 SUlSUl[S5=UlUl	g)N�zYPing thread failed to terminate within 3 seconds, forcing cleanup. Thread may be blocked.r)108r7�setr6�is_alive�joinr�warningr3r4r5r_s r�_stop_ping_thread�WebSocketApp._stop_ping_thread�s����>�>��N�N��� ����� 0� 0� 9� 9� ;� ;����!�!�!�$����(�(�*�*�� � �>�� ������05�a��8���D�-rc��URcgURRUR5(dURSLagURRUR5(d�URSLa�UR(aV[109R110"5Ul[R"S5 URRUR5 URRUR5(dURSLaM�gggg![a#n[R"SU35 SnANgSnAff=f)NFTzSending pingzFailed to send ping: )r7�waitr8r*r2�timer4r�debug�pingr:�	Exception)rA�es  rr\�WebSocketApp._send_ping�s����>�>�!���>�>���t�1�1�2�2�d�6G�6G�5�6P���.�.�%�%�d�&8�&8�9�9�d�>O�>O�SW�>W��y�y�$(�I�I�K��!�@��N�N�>�2��I�I�N�N�4�#4�#4�5��.�.�%�%�d�&8�&8�9�9�d�>O�>O�SW�>W�9�>W�9��!�@��N�N�%:�1�#�#>�?�?��@�s�.;D(�(111E�2E�Ec�T�UR=(a URR$r)r2�	connectedr_s r�ready�WebSocketApp.ready�s���y�y�0�T�Y�Y�0�0�0r�sockopt�ssloptr8r9r:�http_proxy_host�http_proxy_port�
http_no_proxy�http_proxy_auth�http_proxy_timeout�skip_utf8_validation�host�origin�suppress_origin�112proxy_type�	reconnectc�D^^^^^^^	^113^^^
^^^^^^^^^^^�Tc[mUbUS::a[S5eUbUS:a[S5eU(aU(aX4::a[S5eT(dSmT(d0mTR(a[S5eUTlUTlUTlSTlS	TlSS114[4U4SjjjmSS[S
S4UUUUUU	UUU115U
UUUUUUU4SjjjmS
[4UUUUU4SjjmS
[4U4SjjmSS[[[[[[[ 4S
[4UU4SjjjmSS[[[[[[4S[S
[4UUUUUU4Sjjjm[T5mTR#UT[%TR&5ST5mT"5 T(dsT(alTR(a[[(R*"S[-[.R0"55S35 TR3TT5 TR(aM[T(dT"5 TR6$![[4a*n[(R4"SU35 T"5 SnANOSnAff=f!T(dT"5 ff=f)a%116Run event loop for WebSocket framework.117 118This loop is an infinite loop and is alive while websocket is available.119 120Parameters121----------122sockopt: tuple123    Values for socket.setsockopt.124    sockopt must be tuple125    and each element is argument of sock.setsockopt.126sslopt: dict127    Optional dict object for ssl socket option.128ping_interval: int or float129    Automatically send "ping" command130    every specified period (in seconds).131    If set to 0, no ping is sent periodically.132ping_timeout: int or float133    Timeout (in seconds) if the pong message is not received.134ping_payload: str135    Payload message to send with each ping.136http_proxy_host: str137    HTTP proxy host name.138http_proxy_port: int or str139    HTTP proxy port. If not set, set to 80.140http_no_proxy: list141    Whitelisted host names that don't use the proxy.142http_proxy_timeout: int or float143    HTTP proxy timeout, default is 60 sec as per python-socks.144http_proxy_auth: tuple145    HTTP proxy auth information. tuple of username and password. Default is None.146skip_utf8_validation: bool147    skip utf8 validation.148host: str149    update host header.150origin: str151    update origin header.152dispatcher: Dispatcher object153    customize reading data from socket.154suppress_origin: bool155    suppress outputting origin header.156proxy_type: str157    type of proxy from: http, socks4, socks4a, socks5, socks5h158reconnect: int159    delay interval when reconnecting160 161Returns162-------163teardown: bool164    False if the `WebSocketApp` is closed or caught KeyboardInterrupt,165    True if any other exception was raised during a loop.166NrzEnsure ping_timeout > 0zEnsure ping_interval >= 0z#Ensure ping_interval > ping_timeoutrTzsocket is already openedFT�close_framec�>�TR TR(a167SSS5 gSTlSSS5 TR5 STlTR(a#TRnSTlUR5 TR
U(aUOS5up#TRTRX#5 g!,(df   N�=f)z�168Tears down the connection.169 170Parameters171----------172close_frame: ABNF frame173    If close_frame is set, the on_close handler is invoked174    with the statusCode and reason from the provided frame.175NTF)	r@r=rhr*r2rU�_get_close_args�	_callbackr&)r��current_sock�close_status_code�close_reasonrAs    �r�teardown�*WebSocketApp.run_forever.<locals>.teardown_s�����,�,��)�)��-�,�*.��&�-�176
�"�"�$� %�D���y�y�177 $�y�y�� ��	��"�"�$�.2�.B�.B�*���/�+��
�N�N�4�=�=�*;�J�+-�,�s�B=�B=�=178C�reconnectingrc��>�U(a+TR(aTRR5 [TRTTTRSLTSTS9TlTRR[
55 [TR5(aTR5OTRnTRRTRUTRT	T179TTTTRTTTT
TRS9 [R"S5 TR (aTR#5 U(a-TR$(aTR'TR$5 OTR'TR(5 TR+TRRTT5 g![,[.[0[2[44anT"X 5 SnAgSnAff=f)NT)rvrw�fire_cont_framer}�enable_multithread�180dispatcher)
r!r,rxryrzr{r|r-r~rr�r�r/zWebsocket connected)r2�shutdownr181r+r)�182settimeoutr�callabler!�connectr r,r-r;r�infor8r`r#r�r"�readr�ConnectionRefusedError�KeyboardInterrupt�183SystemExitro)r�r!rp�checkr��handleDisconnectr~rzr{rxryr|rr�r�rAr}rvrwr�s   �����������������r�initialize_socket�3WebSocketApp.run_forever.<locals>.initialize_socket�sv�����	�	��	�	�"�"�$�!��!�!��� $� 4� 4�D� @�%9�#'�%��D�I�
�I�I� � �!2�!4�5�&
2�*2�4�;�;�*?�*?�����T�[�[���	�	�!�!��H�H�!��;�;�$3�$3�"/�$3�'9�!%�!2�!2��!�$3�)��/�/�"��"�
�
�3�4��%�%��+�+�-��D�$5�$5��N�N�4�#4�#4�5��N�N�4�<�<�0�����	�	����e�<��2�&�!����
2�!��1�1��
2�s�D1F4�4G%�G � G%c�j>�TR(dT"5 gTRcgTRRS5upU[R:XaT"U5$U[R:Xa'TRTRUR5 gU[R:XaA[R"5TlTRTRUR5 gU[R :XaTR"(anTRTR$URUR&UR(5 TRTR"URUR(5 gURnU[R*:XaT(dUR-S5nTRTR$X1R&S5 TRTR.U5 g![[[1844anT(a
T"U5sSnA$UeSnAff=f)NFT�utf-8)r*r2�recv_data_framerr�rr	�OPCODE_CLOSE�OPCODE_PINGr�r'rD�OPCODE_PONGrlr5r(�OPCODE_CONTr)r.rE�finrL�decoder$)	�op_code�framerprD�closed�custom_dispatcherrAr}r�s	    �����rr��&WebSocketApp.run_forever.<locals>.read�s�����$�$��185���y�y� ��186
�!%���!:�!:�4�!@����$�+�+�+��e�}�$��D�,�,�,����t�|�|�U�Z�Z�8���D�,�,�,�$(�I�I�K��!����t�|�|�U�Z�Z�8���D�,�,�,��1E�1E����t�|�|�U�Z�Z����u�y�y�Q����t�3�3�U�Z�Z����K��
�z�z���d�.�.�.�7K��;�;�w�/�D����t�|�|�T�<�<��F����t����5���53�!���
�187%�!�!�9�$��G��
�s#�H�H2�H-�%H2�+H-�-H2c�l>�TR(a�[R"5TR-188TR:�nTRTR-189S:nTRTR-190TR:�nTR(a U(aU(dU(a[	S5eg)Nrzping/pong timed outT)r9rlr4r5r)�has_timeout_expired�$has_pong_not_arrived_after_last_ping�has_pong_arrived_too_laterAs   �rr��'WebSocketApp.run_forever.<locals>.check�s����� � ��I�I�K�$�"3�"3�3�d�6G�6G�G�$��%�%��(9�(9�9�A�=�5��%�%��(9�(9�9�D�<M�<M�M�*�191�%�%�+�<�4�4�4I�J�J�rrpc�b>�[U5[La[U5nT"U[T55$r)�type�strr�bool)rpr�r�s ��rr��(WebSocketApp.run_forever.<locals>.closed�s+����A�w�#�~�6�q�9��#�A�t�I��7�7rc�>�STlTR5 U(dTRTRU5 [	U[192[45(aT"5 eT(at[R"US35 T(aH[R"S[[R"55S35 TRTT5 TR$[R"US35 T"5 TR$)NTz - reconnectz%Calling custom dispatcher reconnect [� frames in stack]z193 - goodbye)r<rhr�r%�194isinstancer�r�rr�rm�len�inspect�stackr��error)rpr�r�r�r�r�rAr�s  ������rr��2WebSocketApp.run_forever.<locals>.handleDisconnects���� $�D���"�"�$�����t�}�}�a�0��!�/��<�=�=��195����
�
���<�0�1�$��N�N�?��G�M�M�O�@T�?U�Uf�g���(�(��4E�F��#�#�#����!��J�/�0��196��#�#�#rrczCalling dispatcher reconnect [r�ztearing down on exception r)F)zclosed unexpectedly)rr
r2r8r9r:r=r*r	r�rrr�r�r�ror��create_dispatcherrr rrmr�r�r�r�r�r<)rArvrwr8r9r:rxryrzr{r|r}r~rr�r�r�r�rpr�r�r�r�r�r�r�s```   ```````````` @@@@@@@r�run_forever�WebSocketApp.run_foreversi�����R��!�I��#���(9�$�%>�?�?��$���):�$�%@�A�A��M�m�.K�$�%J�K�K���G���F��9�9�$�%?�@�@�*���(���(���!&��� ���"	K�$�"	K�"	K�H5	2�D�5	2�T�5	2�5	2�5	2�5	2�n%	�d�%	�%	�N	�t�	�>&�	8��2�&�!������	8��	8�	8�,"'�	$��2�&�!���	��	$��	$��	$�	$�@!��,���+�+��*�i����&9�!�&<�f�197�198�	���$���'�'��N�N�8��W�]�]�_�9M�8N�N_�`���(�(��4E�F�	�'�'�'�%��199������"�9�-�	��M�M�6�q�c�:�;��J�J��	��%��200�%�s+�6A?I�J�! J�J�J�J�Jr��is_sslr�c�x�U(a[XX$5$U=(d SnU(a[X5$[X5$)N�201)rrr)rAr9r�r�r��timeouts      rr��WebSocketApp.create_dispatcher=s7���$�T��V�V��$�"��� ��/�/��$�(�(rr�c�n�UR(aU(dSS/$UR(a�[UR5S:�alS[URS5-[URS5-nURSSn[	U[2025(aUR
S5nX#/$SS/$)z�203_get_close_args extracts the close code and reason from the close body204if it exists (RFC6455 says WebSocket Connection Close Code is optional)205N��rrr�)r&rDr��intr��bytesr�)rAr�r��reasons    rr��WebSocketApp._get_close_argsKs����}�}�K��$�<������K�$4�$4� 5�� :� #�c�+�*:�*:�1�*=�&>� >��� � ��#�B�!��!�%�%�a�b�)�F��&�%�(�(����w�/��%�.�.��$�<�rc��U(aU"U/UQ76 gg![a`n[R"SUSU35 UR(a)XRLaURX5 SnAgSnAgSnAgSnAff=f)Nzerror from callback z: )rorr�r%)rA�callback�argsrps    rr��WebSocketApp._callbackbsq���
+���%��%����
+����!5�h�Z�r�!��E�F��=�=�X�]�]�%B��M�M�$�*�*�&C�=��	
+�s�	�206A>�AA9�9A>)r,r+r=r@r<r!r*r4r5r&r)r.r%r$r"r'r(r#r8r:r6r9r;r2r7r-r )NNNNNNNNNTNNNNN)rN)NNrNr1NNNNNFNNNFNN)NFN)'�__name__�207__module__�__qualname__�__firstlineno__�__doc__r�rr�list�dictrrr�r/rBr	rLr�r�rHrM�	bytearrayrQrUr`rhr\rt�tupler3r�rrrrr�r�r��__static_attributes__rTrrrr0s����
�>B�CG�FJ�DH�IM�&*�&*�.2�!�+/� $�,0�&*�*.�/u7�
�u7����S�	��S�#�X����U�4��9�d�3��8�n�#<�=�=�>�@�
�208�u7��(�N�#3�T�#9�:�;�u7��x��(8�$�(>�?�@�u7��X�~�s�&;�T�&A�B�C�u7��8�^�S�$9�4�$?�@�A�u7��8�^�S�#�$>��$D�E�F�u7��(�#�u7� �(�#�!u7�""�(�+�#u7�$�%u7�&�x�(�'u7�(��
�)u7�*�t�C�y�)�+u7�,�(�#�-u7�.����'�/u7�0209�1u7�n;?�:J�:J�V��u�c�z�*�V�C�V�t�V� V�3�V�4�V�V�u�U�I�%5�6�V�4�V��!�9�*@�1�210��+,�48��#�+/�"�!%�.2�%*���� %���%{ ��{ ��{ ��U�C�Z�(�	{ �211�u�U�C�Z�0�1�{ ��
{ ��{ ��s�C�x��{ ��{ ��{ �%�U�O�{ �#�{ ��{ ��{ � �!{ �"�#{ �$�%{ �&212�'{ �@21304��%)�)��u�U�C�Z�0�1�)��^�,�)��	)�214#�)�215�z�=�*;�;�	<�
)� �4� �D� �.216+r)"r�r/r>rl�typingrrrrr1r�_abnfr	�_corer217r�_exceptionsrr
r�_ssl_compatr�_urlr�_dispatcherrrrr�__all__rr�rrrTrr�<module>r�sk���
���1�1���/���218%��U�U��&�219��
�	�"�S�"�T�"�220|+�|+r
codekingpro/portable-devtools · Team Ai