Sindbad~EG File Manager
�
�f�"���ddlZddlZddlZddlmZddlmZddlmZGd�dej��Z Gd�d ej
��ZGd
�deej��Z
dS)�N�)� protocols)�
transports)�loggerc���eZdZ d�fd� Zd�Zd�Zd�Zd�Zd�Zd�Z e
jfd �Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z�xZS)�BaseSubprocessTransportNc
�D��t���|
��d|_||_||_d|_d|_d|_g|_tj
��|_i|_d|_
|tjkr
d|jd<|tjkr
d|jd<|tjkr
d|jd< |jd||||||d�|��n#|����xYw|jj|_|j|jd<|j���rBt+|t,t.f��r|}n|d}t1jd||j��|j�|�| ����dS) NFrr�)�args�shell�stdin�stdout�stderr�bufsize�
subprocesszprocess %r created: pid %s�)�super�__init__�_closed� _protocol�_loop�_proc�_pid�_returncode�
_exit_waiters�collections�deque�_pending_calls�_pipes� _finishedr�PIPE�_start�close�pid�_extra� get_debug�
isinstance�bytes�strr�debug�create_task�_connect_pipes)�self�loop�protocolrrr
rrr�waiter�extra�kwargs�program� __class__s ��>/opt/alt/python311/lib64/python3.11/asyncio/base_subprocess.pyrz BaseSubprocessTransport.__init__s���� ������������!�����
���
��� �������)�/�1�1����������J�O�#�#�!�D�K��N��Z�_�$�$�!�D�K��N��Z�_�$�$�!�D�K��N� ��D�K�
B�T��e�F�%�w�
B�
B�:@�
B�
B�
B�
B�� ��J�J�L�L�L������J�N�� �$(�J���L�!��:���!�!� -��$����-�-�
"�����q�'���L�5� �$�)�
-�
-�
-�
�
���t�2�2�6�:�:�;�;�;�;�;s� C�C5c�8�|jjg}|jr|�d��|j�|�d|j����|j�|�d|j����n2|j�|�d��n|�d��|j�d��}|�|�d|j����|j�d��}|j�d ��}|�"||ur|�d
|j����n>|�|�d|j����|�|�d|j����d
� d�
|����S)N�closedzpid=zreturncode=�runningznot startedrzstdin=rr
zstdout=stderr=zstdout=zstderr=z<{}>� )r4�__name__r�appendrrr�get�pipe�format�join)r-�infor
rrs r5�__repr__z BaseSubprocessTransport.__repr__7s�����'�(���<� "��K�K��!�!�!��9� ��K�K�*�t�y�*�*�+�+�+���'��K�K�8�d�&6�8�8�9�9�9�9�
�Y�
"��K�K� �"�"�"�"��K�K�
�&�&�&������"�"�����K�K�-���-�-�.�.�.������#�#�������#�#����&�F�"2�"2��K�K�6���6�6�7�7�7�7��!����3�f�k�3�3�4�4�4��!����3�f�k�3�3�4�4�4��}�}�S�X�X�d�^�^�,�,�,�c��t��N)�NotImplementedError)r-rrr
rrrr2s r5r"zBaseSubprocessTransport._startTs��!�!rBc��||_dSrD�r)r-r/s r5�set_protocolz$BaseSubprocessTransport.set_protocolWs
��!����rBc��|jSrDrG�r-s r5�get_protocolz$BaseSubprocessTransport.get_protocolZs
���~�rBc��|jSrD)rrJs r5�
is_closingz"BaseSubprocessTransport.is_closing]s
���|�rBc��|jrdSd|_|j���D]}|��|j����|j�{|j�v|j����_|j� ��rtjd|�� |j���dS#t$rYdSwxYwdSdSdS)NTz$Close running child process: kill %r)rr�valuesr=r#rr�pollrr&r�warning�kill�ProcessLookupError)r-�protos r5r#zBaseSubprocessTransport.close`s����<� ��F�����[�'�'�)�)� � �E��}���J��������J�"�� �(��
���!�!�)��z�#�#�%�%�
M���E�t�L�L�L�
��
���!�!�!�!�!��%�
�
�
����
����
#�"�(�(�*�)s�B:�:
C�Cc�l�|js,|d|��t|���|���dSdS)Nzunclosed transport )�source)r�ResourceWarningr#)r-�_warns r5�__del__zBaseSubprocessTransport.__del__{sG���|� ��E�0��0�0�/�$�O�O�O�O��J�J�L�L�L�L�L� � rBc��|jSrD)rrJs r5�get_pidzBaseSubprocessTransport.get_pid�s
���y�rBc��|jSrD)rrJs r5�get_returncodez&BaseSubprocessTransport.get_returncode�s����rBc�<�||jvr|j|jSdSrD)rr=)r-�fds r5�get_pipe_transportz*BaseSubprocessTransport.get_pipe_transport�s#��
������;�r�?�'�'��4rBc�0�|j�t���dSrD)rrSrJs r5�_check_procz#BaseSubprocessTransport._check_proc�s���:��$�&�&�&��rBc�b�|���|j�|��dSrD)rbr�send_signal)r-�signals r5rdz#BaseSubprocessTransport.send_signal�s0���������
���v�&�&�&�&�&rBc�`�|���|j���dSrD)rbr� terminaterJs r5rgz!BaseSubprocessTransport.terminate�s.���������
�������rBc�`�|���|j���dSrD)rbrrRrJs r5rRzBaseSubprocessTransport.kill�s,���������
�������rBc���K� �j}�j}|j�1|��fd�|j���d{V��\}}|�jd<|j�1|��fd�|j���d{V��\}}|�jd<|j�1|��fd�|j���d{V��\}}|�jd<|��j j
����jD]\}}|j|g|�R��d�_|�+|���s|�
d��dSdSdS#ttf$r�t $rB}|�/|���s!|�|��Yd}~dSYd}~dSYd}~dSd}~wwxYw)Nc�$��t�d��S)Nr)�WriteSubprocessPipeProtorJs�r5�<lambda>z8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>�s���4�T�1�=�=�rBrc�$��t�d��S)Nr��ReadSubprocessPipeProtorJs�r5rlz8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>�����3�D�!�<�<�rBrc�$��t�d��S)Nr
rnrJs�r5rlz8BaseSubprocessTransport._connect_pipes.<locals>.<lambda>�rprBr
)rrr
�connect_write_piperr�connect_read_piper� call_soonr�connection_mader� cancelled�
set_result�
SystemExit�KeyboardInterrupt�
BaseException�
set_exception) r-r0�procr.�_r=�callback�data�excs ` r5r,z&BaseSubprocessTransport._connect_pipes�sg�����# (��:�D��:�D��z�%� $� 7� 7�=�=�=�=��J�! �! � � � � � � ���4�"&���A���{�&� $� 6� 6�<�<�<�<��K�!!�!!�!�!�!�!�!�!���4�"&���A���{�&� $� 6� 6�<�<�<�<��K�!!�!!�!�!�!�!�!�!���4�"&���A��
�N�N�4�>�9�4�@�@�@�"&�"5�
0�
0���$����x�/�$�/�/�/�/�/�"&�D���!�&�*:�*:�*<�*<�!��!�!�$�'�'�'�'�'�"�!�!�!��
�-�.� � � ��� *� *� *��!�&�*:�*:�*<�*<�!��$�$�S�)�)�)�)�)�)�)�)�)�"�!�!�!�!�!�!�!�!�!�!�!����� *���s�C8D.�.F� +F�Fc�v�|j�|j�||f��dS|jj|g|�R�dSrD)rr;rrt)r-�cbrs r5�_callzBaseSubprocessTransport._call�sO����*���&�&��D�z�2�2�2�2�2� �D�J� ��+�d�+�+�+�+�+�+rBc�p�|�|jj||��|���dSrD)r�r�pipe_connection_lost�_try_finish)r-r_r�s r5�_pipe_connection_lostz-BaseSubprocessTransport._pipe_connection_lost�s5���
�
�4�>�6��C�@�@�@��������rBc�H�|�|jj||��dSrD)r�r�pipe_data_received)r-r_rs r5�_pipe_data_receivedz+BaseSubprocessTransport._pipe_data_received�s#���
�
�4�>�4�b�$�?�?�?�?�?rBc��|j���rtjd||��||_|jj�||j_|�|jj ��|�
��dS)Nz%r exited with return code %r)rr&rr@rr�
returncoder�r�process_exitedr�)r-r�s r5�_process_exitedz'BaseSubprocessTransport._process_exited�s~���:���!�!� K��K�7��z�J�J�J�%����:� �(�%/�D�J�!��
�
�4�>�0�1�1�1��������rBc��K�|j�|jS|j���}|j�|��|�d{V��S)zdWait until the process exit and return the process return code.
This method is a coroutine.N)rr�
create_futurerr;)r-r0s r5�_waitzBaseSubprocessTransport._wait�sV������'��#�#���)�)�+�+����!�!�&�)�)�)��|�|�|�|�|�|�rBc��|j�dStd�|j���D����r$d|_|�|jd��dSdS)Nc3�,K�|]}|duo|jV��dSrD)�disconnected)�.0�ps r5� <genexpr>z6BaseSubprocessTransport._try_finish.<locals>.<genexpr>�sA����.�.����}�/���.�.�.�.�.�.rBT)r�allrrOr r��_call_connection_lostrJs r5r�z#BaseSubprocessTransport._try_finish�sz����#��F��.�.���*�*�,�,�.�.�.�.�.� 9�!�D�N��J�J�t�1�4�8�8�8�8�8� 9� 9rBc�� |j�|��|jD]0}|���s|�|j���1d|_d|_d|_d|_dS#|jD]0}|���s|�|j���1d|_d|_d|_d|_wxYwrD)r�connection_lostrrvrwrrr)r-r�r0s r5r�z-BaseSubprocessTransport._call_connection_lost�s���
"��N�*�*�3�/�/�/��,�
8�
8���'�'�)�)�8��%�%�d�&6�7�7�7��!%�D���D�J��D�J�!�D�N�N�N��
�,�
8�
8���'�'�)�)�8��%�%�d�&6�7�7�7��!%�D���D�J��D�J�!�D�N�!�!�!�!s�A2�2AC)NN)r:�
__module__�__qualname__rrAr"rHrKrMr#�warnings�warnrYr[r]r`rbrdrgrRr,r�r�r�r�r�r�r��
__classcell__)r4s@r5rr
s��������%)�)<�)<�)<�)<�)<�)<�V-�-�-�:"�"�"�"�"�"����������6%�M�����
��� � � ����'�'�'�'�'�'�������$(�$(�$(�L,�,�,����@�@�@���� � � �9�9�9�"�"�"�"�"�"�"rBrc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)rkc�>�||_||_d|_d|_dS)NF)r|r_r=r�)r-r|r_s r5rz!WriteSubprocessPipeProto.__init__s%���� ������ �!����rBc��||_dSrD)r=)r-� transports r5ruz(WriteSubprocessPipeProto.connection_mades
���� � � rBc�B�d|jj�d|j�d|j�d�S)N�<z fd=z pipe=�>)r4r:r_r=rJs r5rAz!WriteSubprocessPipeProto.__repr__
s,��M�4�>�*�M�M���M�M�t�y�M�M�M�MrBc�b�d|_|j�|j|��d|_dS)NT)r�r|r�r_)r-r�s r5r�z(WriteSubprocessPipeProto.connection_lost
s/�� ���� �'�'����5�5�5��� � � rBc�B�|jj���dSrD)r|r�
pause_writingrJs r5r�z&WriteSubprocessPipeProto.pause_writings��� ��)�)�+�+�+�+�+rBc�B�|jj���dSrD)r|r�resume_writingrJs r5r�z'WriteSubprocessPipeProto.resume_writings��� ��*�*�,�,�,�,�,rBN) r:r�r�rrurAr�r�r�rrBr5rkrk�sq������"�"�"����N�N�N����
,�,�,�-�-�-�-�-rBrkc��eZdZd�ZdS)roc�F�|j�|j|��dSrD)r|r�r_)r-rs r5�
data_receivedz%ReadSubprocessPipeProto.data_receiveds"��� �%�%�d�g�t�4�4�4�4�4rBN)r:r�r�r�rrBr5roros#������5�5�5�5�5rBro)rrr��rr�logr�SubprocessTransportr�BaseProtocolrk�ProtocolrorrBr5�<module>r�s���������������������������������r"�r"�r"�r"�r"�j�<�r"�r"�r"�j-�-�-�-�-�y�5�-�-�-�45�5�5�5�5�6�'�0�5�5�5�5�5rB
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists