Edit File: dispatchers.cpython-36.pyc
3 �k�`�K � @ s� d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z d dl mZ d d l mZ d d l mZ dd� ZG d d� d�ZG dd� de�ZG dd� de�ZG dd� de�ZdZd+Zd%d&� ZG d'd(� d(e�Zd)d*� ZdS ),� N)�compact_traceback)� as_string)�notify)�EventRejectedEvent)�ProcessLogStderrEvent)�ProcessLogStdoutEvent)�EventListenerStates)� getEventListenerStateDescription)�loggersc C s6 t |�d }x$|r0| j|d |� � r0|d8 }qW |S )N� )�len�endswith)ZhaystackZneedle�l� r �!/usr/lib/python3.6/dispatchers.py�find_prefix_at_end s r c @ s\ e Zd ZdZdZdd� Zdd� Zdd� Zd d � Zdd� Z d d� Z dd� Zdd� Zdd� Z dS )�PDispatcherz{ Asyncore dispatcher for mainloop, representing a process channel (stdin, stdout, or stderr). This class is abstract. Fc C s || _ || _|| _d| _d S )NF)�process�channel�fd�closed)�selfr r r r r r �__init__ s zPDispatcher.__init__c C s d| j jt| �| j| jf S )Nz<%s at %s for %s (%s)>)� __class__�__name__�idr r )r r r r �__repr__ s zPDispatcher.__repr__c C s t �d S )N)�NotImplementedError)r r r r �readable% s zPDispatcher.readablec C s t �d S )N)r )r r r r �writable( s zPDispatcher.writablec C s t �d S )N)r )r r r r �handle_read_event+ s zPDispatcher.handle_read_eventc C s t �d S )N)r )r r r r �handle_write_event. s zPDispatcher.handle_write_eventc C s<