CasperSecurity

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

o

��!^�@sjdZddlZddlZddlZddlZejddkZereZ	dZ
dZGdd�de�Z
dd	d�Zd
dd
�ZdS)zEGeneric wrapper for read-eval-print-loops, a.k.a. interactive shells
�N�z[PEXPECT_PROMPT>z[PEXPECT_PROMPT+c@s<eZdZdZeedfdd�Zdd�Zd
d	d
�Zd
dd�Z	dS)�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.
    NcCs�t|t�rtj|ddd�|_n||_|jjr!|j�d�|j��|dur)||_n
|�	||�
||��||_||_|��|durH|�
|�dSdS)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_cmd�r�2/usr/lib/python3/dist-packages/pexpect/replwrap.py�__init__!s"


��zREPLWrapper.__init__cCs|j�|�|j�|�dS)N)r�expect�sendline)rrrrrrr<szREPLWrapper.set_prompt���FcCs|jj|j|jg||d�S)N)�timeout�async_)r�expect_exactrr)rr!r"rrrr@s�zREPLWrapper._expect_promptcCs�|��}|�d�r|�d�|std��|r"ddlm}||||�Sg}|j�|d�|dd�D]}|j|d�|�|jj	�|j�|�q2|j|d�dkrc|j�
tj�|jdd�td	|��d�
||jj	g�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'rrr�before�kill�signal�SIGINT�join)r�commandr!r"�cmdlinesr'�res�linerrrrDs*

�zREPLWrapper.run_command)r F)
�__name__�
__module__�__qualname__�__doc__�PEXPECT_PROMPT�PEXPECT_CONTINUATION_PROMPTrrrrrrrrrs
�
r�pythoncCs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)r2rrrr<os�bashcCs�tj�tj�t�d�}tj|d|gddd�}tdd�dtdd�}tdd�dtdd�}d	�	||�}t
|d
|dd�S)
z<Start a bash shell and return a :class:`REPLWrapper` object.z	bashrc.shz--rcfileFrrN�z\[\]z%PS1='{0}' PS2='{1}' PROMPT_COMMAND=''z\$zexport PAGER=cat)r)�os�pathr1�dirname�__file__r
rr:r;rr)r2�bashrcr�ps1�ps2rrrrr=ss��)r<)r=)r9�os.pathr?r/�sysr
�version_info�PY3�strr	r:r;�objectrr<r=rrrr�<module>s
^
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY