403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.216.115
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/pexpect/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/pexpect/__pycache__/popen_spawn.cpython-311.pyc
�

��!^���dZddlZddlZddlZddlZddlZddlZddlZ	ddlm	Z	m
Z
n#e$rddl	m	Z	m
Z
YnwxYwddlm
Z
mZddlmZddlmZGd�d	e
��ZdS)
zJProvides an interface like pexpect.spawn interface using subprocess.Popen
�N)�Queue�Empty�)�	SpawnBase�PY3)�EOF)�string_typesc�b��eZdZ			d�fd�	ZdZd�Zd�Zd	�Zd
�Zd�Z	dd
�Z
d�Zd�Zd�Z
�xZS)�
PopenSpawn���N�strictc	����tt|���||||||	���|�%tj�d��|_n$|�tj��|_tdtj
tjtj
||
|���}tj
dkrAtj��}|xjtjzc_||d<tj|d<t%|t&��r4tj
dkr$t)j|tjdk�	��}tj|fi|��|_|jj|_d
|_|���|_t9��|_t=j|j ���|_!|j!�"d��|j!�#��dS)
N)�timeout�maxread�searchwindowsize�logfile�encoding�codec_errors�asciir)�bufsize�stdin�stderr�stdout�cwd�
preexec_fn�env�win32�startupinfo�
creationflags�posix)r!F)�targetT)$�superr�__init__�os�linesep�encode�crlf�string_type�dict�
subprocess�PIPE�STDOUT�sys�platform�STARTUPINFO�dwFlags�STARTF_USESHOWWINDOW�CREATE_NEW_PROCESS_GROUP�
isinstancer	�shlex�split�name�Popen�proc�pid�closed�_bufr�_read_queue�	threading�Thread�_read_incoming�_read_thread�	setDaemon�start)�self�cmdrrrrrrrrr�kwargsr�	__class__s             ��5/usr/lib/python3/dist-packages/pexpect/popen_spawn.pyr$zPopenSpawn.__init__s����	�j�$���(�(��'�!1�7�!��	)�	>�	>�	>����
�)�)�7�3�3�D�I�I��(�(�"�*�5�5�D�I��a�z��'�.�z���*�#�?�?�?���<�7�"�"�$�0�2�2�K����:�#B�B���$/�F�=�!�&0�&I�F�?�#��c�<�(�(�	=�S�\�W�-D�-D��+�c���G�);�<�<�<�C��$�S�3�3�F�3�3��	��9�=�������$�$�&�&��	� �7�7���%�,�D�4G�H�H�H�����#�#�D�)�)�)�����!�!�!�!�!�Fc��|j}|jr1|r||d�|_|d|�Sd|_td���|dkr|j}n|�d}tj��}tj��|z
|kr�|r�t
|��|kr�	|j���}|�d|_n_||j	�
|d���z
}n#t$rYn3wxYwtj��|z
|kr|rt
|��|k��|d|�||d�c}|_|�|d��|S)NTzEnd Of File (EOF).���g��.AF��final�read)
r<�_read_reached_eof�flag_eofrr�time�lenr=�
get_nowait�_decoder�decoder�_log)rD�sizer�buf�t0�incoming�rs       rH�read_nonblockingzPopenSpawn.read_nonblockingAst���i���!�	0��
0�����J��	��5�D�5�z�!� $��
��.�/�/�/��b�=�=��l�G�G�
�_��G�
�Y�[�[���y�{�{�R��7�*�*�t�*��C���4���	
C��+�6�6�8�8���#�-1�D�*���t�}�+�+�H�E�+�B�B�B�����
�
�
���
�����y�{�{�R��7�*�*�t�*��C���4����5�D�5�z�3�t�u�u�:���4�9��	�	�!�V�����s�C�
C%�$C%c�>�|jj���}	d}	tj|d��}n-#t
$r }|�|d��Yd}~nd}~wwxYw|s|j�d��dS|j�|���)z6Run in a thread to move output from a pipe to a queue.rrIirNN)	r9r�filenor%rN�OSErrorrVr=�put)rDr^rX�es    rHr@zPopenSpawn._read_incomingds�����!�(�(�*�*��	&��C�
%��g�f�d�+�+�����
%�
%�
%��	�	�!�V�$�$�$�$�$�$�$�$�����
%�����
�� �$�$�T�*�*�*����� � ��%�%�%�	&s�9�
A#�A�A#c�0�|�|��dS)zHThis is similar to send() except that there is no return value.
        N��send)rD�ss  rH�writezPopenSpawn.writeus��	
�	�	�!�����rIc�:�|D]}|�|���dS)z�This calls write() for each element in the sequence.

        The sequence can be any iterable object producing strings, typically a
        list of strings. This does not add line separators. There is no return
        value.
        Nrc)rD�sequenceres   rH�
writelineszPopenSpawn.writelineszs.���	�	�A��I�I�a�L�L�L�L�	�	rIc�8�|�|��}|�|d��|j�|d���}tr|jj�|��S|jj�|��t|��S)zZSend data to the subprocess' stdin.

        Returns the number of bytes written.
        rdFrL)	�_coerce_send_stringrV�_encoderr'rr9rrfrR)rDre�bs   rHrdzPopenSpawn.send�s���

�$�$�Q�'�'���	�	�!�V�����M� � ��%� �0�0���	��9�?�(�(��+�+�+�
�I�O�!�!�!�$�$�$��q�6�6�MrI�c�f�|�|��}||�|j��zS)z�Wraps send(), sending string ``s`` to child process, with os.linesep
        automatically appended. Returns number of bytes written. )rdr&)rDre�ns   rH�sendlinezPopenSpawn.sendline�s,��
�I�I�a�L�L���4�9�9�T�\�*�*�*�*rIc��|j���}|dkr||_d|_nd|_||_d|_|S)zKWait for the subprocess to finish.

        Returns the exit code.
        rNT)r9�wait�
exitstatus�signalstatus�
terminated)rD�statuss  rHrszPopenSpawn.wait�sM��
����!�!���Q�;�;�$�D�O� $�D���"�D�O�!'��D������
rIc��tjdkrZ|tjtjfvr
tj}n3|tjtjfvr
tj}ntj}tj	|j
j|��dS)z}Sends a Unix signal to the subprocess.

        Use constants from the :mod:`signal` module to specify which signal.
        rN)r.r/�signal�SIGINT�CTRL_C_EVENT�SIGBREAK�CTRL_BREAK_EVENT�SIGTERMr%�killr9r:)rD�sigs  rHrzPopenSpawn.kill�sr��
�<�7�"�"��v�}�f�&9�:�:�:��)������&�*A�B�B�B��-����n��
���	�
�s�#�#�#�#�#rIc�B�|jj���dS)z+Closes the stdin pipe from the writing end.N)r9r�close)rDs rH�sendeofzPopenSpawn.sendeof�s���	��������rI)	rr
NNNNNrN)rn)�__name__�
__module__�__qualname__r$rOr\r@rfrirdrqrsrr��
__classcell__)rGs@rHrrs��������GK�<@�37�("�("�("�("�("�("�T��!�!�!�F&�&�&�"���
������"+�+�+�+�
�
�
�
$�
$�
$� � � � � � � rIr)�__doc__r%r>r+r.rQryr5�queuerr�ImportError�	spawnbaserr�
exceptionsr�utilsr	r�rIrH�<module>r�s)����	�	�	�	���������
�
�
�
�����
�
�
�
�����#�"�"�"�"�"�"�"�"�"���#�#�#�"�"�"�"�"�"�"�"�"�"�#����&�%�%�%�%�%�%�%�������������h �h �h �h �h ��h �h �h �h �h s�)�
9�9

Youez - 2016 - github.com/yon3zu
LinuXploit