%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/pexpect/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/pexpect/__pycache__/replwrap.cpython-312.pyc

�

��e?���dZddlZddlZddlZddlZejddk\ZereZ	dZ
dZGd�de�Z
ejfd�Zd	�Zdd
�Zd
d�Zy)zEGeneric wrapper for read-eval-print-loops, a.k.a. interactive shells
�N�z[PEXPECT_PROMPT>z[PEXPECT_PROMPT+c�4�eZdZdZeedfd�Zd�Zdd�Zdd�Z	y)�REPLWrappera�Wrapper for a REPL.

    :param cmd_or_spawn: This can either be an instance of :class:`pexpect.spawn`
      in which a REPL has already been started, or a str command to start a new
      REPL process.
    :param str orig_prompt: The prompt to expect at first.
    :param str prompt_change: A command to change the prompt to something more
      unique. If this is ``None``, the prompt will not be changed. This will
      be formatted with the new and continuation prompts as positional
      parameters, so you can use ``{}`` style formatting to insert them into
      the command.
    :param str new_prompt: The more unique prompt to expect after the change.
    :param str extra_init_cmd: Commands to do extra initialisation, such as
      disabling pagers.
    Nc��t|t�rtj|dd��|_n||_|jj
r5|jj
d�|jj�|�||_n)|j||j||��||_||_|j�|�|j|�yy)NF�utf-8��echo�encoding)�
isinstance�
basestring�pexpect�spawn�childr	�setecho�
waitnoecho�prompt�
set_prompt�format�continuation_prompt�_expect_prompt�run_command)�self�cmd_or_spawn�orig_prompt�
prompt_change�
new_promptr�extra_init_cmds       �2/usr/lib/python3/dist-packages/pexpect/replwrap.py�__init__zREPLWrapper.__init__!s����l�J�/� ���|�%�'�R�D�J�%�D�J��:�:�?�?�
�J�J���u�%��J�J�!�!�#�� �%�D�K��O�O�K�%�,�,�Z�9L�M�
O�$�D�K�#6�� ������%����^�,�&�c�p�|jj|�|jj|�y)N)r�expect�sendline)rrrs   rrzREPLWrapper.set_prompt<s&���
�
���+�&��
�
���M�*r c�j�|jj|j|jg||��S)N)�timeout�async_)r�expect_exactrr)rr%r&s   rrzREPLWrapper._expect_prompt@s6���z�z�&�&����T�5M�5M�'N�/6�v�'�G�	Gr c��|j�}|jd�r|jd�|std��|rddlm}||||�Sg}|jj|d�|ddD]T}|j|��|j|jj�|jj|��V|j|��dk(rI|jjtj�|jd��td	|z��dj||jjgz�S)
a0Send a command to the REPL, wait for and return output.

        :param str command: The command to send. Trailing newlines are not needed.
          This should be a complete block of input that will trigger execution;
          if a continuation prompt is found after sending input, :exc:`ValueError`
          will be raised.
        :param int timeout: How long to wait for the next prompt. -1 means the
          default from the :class:`pexpect.spawn` object (default 30 seconds).
          None means to wait indefinitely.
        :param bool async_: On Python 3.4, or Python 3.3 with asyncio
          installed, passing ``async_=True`` will make this return an
          :mod:`asyncio` Future, which you can yield from to get the same
          result that this method would normally give directly.
        �
�zNo command was given�)�repl_run_command_asyncrN)r%z2Continuation prompt found - input was incomplete:
)�
splitlines�endswith�append�
ValueError�_asyncr,rr#r�before�kill�signal�SIGINT�join)r�commandr%r&�cmdlinesr,�res�lines        rrzREPLWrapper.run_commandDs/�� �%�%�'�����D�!��O�O�B����3�4�4��6�)�$��'�B�B����
�
���H�Q�K�(��Q�R�L�	&�D������0��J�J�t�z�z�(�(�)��J�J����%�	&����w��/�1�4��J�J�O�O�F�M�M�*������*��R�&�'�(�
(��x�x��t�z�z�0�0�1�1�2�2r )���F)
�__name__�
__module__�__qualname__�__doc__�PEXPECT_PROMPT�PEXPECT_CONTINUATION_PROMPTrrrr�r rrrs'��� +�%@� $�-�6+�G�)3r rc��t|dd�S)z>Start a Python shell and return a :class:`REPLWrapper` object.z>>> z(import sys; sys.ps1={0!r}; sys.ps2={1!r})r)r7s r�pythonrDos���w��)T�U�Ur c���tj||dd��}tdd|ztddz}tdd|ztddz}dj	||�}t|d|d��S)	NFrr�z%PS1='{0}' PS2='{1}' PROMPT_COMMAND=''z\$zexport PAGER=cat)r)r
rr@rArr)r7�args�non_printable_insertr�ps1�ps2rs       r�_repl_shrKss���M�M�'�4�e�g�F�E���!�
�3�
3�n�Q�R�6H�
H�C�
%�b�q�
)�,@�
@�C^�_`�_a�Cb�
b�C�<�C�C�C��M�M��u�f�m�&8�:�:r c��tjjtjjt�d�}t|d|gd��S)z<Start a bash shell and return a :class:`REPLWrapper` object.z	bashrc.shz--rcfilez\[\]�rH)�os�pathr6�dirname�__file__rK)r7�bashrcs  r�bashrS�s7��
�W�W�\�\�"�'�'�/�/�(�3�[�
A�F��G�j�&�1��Q�Qr c�0�t|t|�d��S)z;Start a zsh shell and return a :class:`REPLWrapper` object.z%(!..)rM)rK�list)r7rGs  r�zshrV�s���G�T�$�Z�h�G�Gr )rS)rV)z--no-rcsz-Vz+Z)r?�os.pathrNr4�sysr
�version_info�PY3�strrr@rA�objectr�
executablerDrKrSrVrBr r�<module>r^sm����
�
��
�����a�����J�$��1��\3�&�\3�|�>�>�V�:�R�
Hr 

Zerion Mini Shell 1.0