← Back
Editing: _async.cpython-38.pyc
U \�Z} � @ sB d dl Z d dlZd dlmZ e jddd��ZG dd� de j�ZdS )� N)�EOFc # s� | j j}| j �� | j _| j �� | j _| �|�}|d k r:|S | j js�t� � � �| � t � � �� fdd�| j �E d H \}� � |f| j _n| j j\� }� �| � |�� zt � � j|�E d H W S t jk r� } z|�� | �|� W Y �S d }~X Y nX d S )Nc s � S �N� r �Zpwr �0/usr/lib/python3/dist-packages/pexpect/_async.py�<lambda> � zexpect_async.<locals>.<lambda>)�spawn�bufferZbuffer_type�_bufferZ_before�new_dataZasync_pw_transport� PatternWaiter�set_expecter�asyncioZget_event_loopZconnect_read_pipeZresume_readingZwait_for�fut�TimeoutError� pause_reading�timeout)�expecterr Zpreviously_read�idx� transport�er r r �expect_async s, � r c @ sH e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z dd� Z dS )r Nc C s || _ t�� | _d S r )r r ZFuturer )�selfr r r r r $ s zPatternWaiter.set_expecterc C s$ | j �� s | j �|� | j�� d S r )r �doneZ set_resultr r )r �resultr r r �found( s zPatternWaiter.foundc C s$ | j �� s | j �|� | j�� d S r )r r Z set_exceptionr r �r �excr r r �error- s zPatternWaiter.errorc C s || _ d S r )r )r r r r r �connection_made2 s zPatternWaiter.connection_madec C s� | j j}|j�|�}|�|d� | j�� r:|j�|� d S z"| j � |�}|d k rZ| � |� W n6 tk r� } z| j �� | � |� W 5 d }~X Y nX d S )N�read)r r Z_decoder�decodeZ_logr r r �writer r � ExceptionZerroredr )r �datar �s�indexr r r r � data_received5 s zPatternWaiter.data_receivedc C sT zd| j j_| j �� }W n, tk rD } z| �|� W 5 d }~X Y nX | �|� d S )NT)r r Zflag_eof�eofr r r )r r'