Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3.10/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3.10/__pycache__/asynchat.cpython-310.pyc
o

�*�g-�@s^dZddlZddlmZddlmZededd�Gdd	�d	ej�ZGd
d�d�Z	dd
�Z
dS)a�A class supporting chat-style (command/response) protocols.

This class adds support for 'chat' style protocols - where one side
sends a 'command', and the other sends a response (examples would be
the common internet protocols - smtp, nntp, ftp, etc..).

The handle_read() method looks at the input stream for the current
'terminator' (usually '\r\n' for single-line responses, '\r\n.\r\n'
for multi-line output), calling self.found_terminator() on its
receipt.

for example:
Say you build an async nntp client using this class.  At the start
of the connection, you'll have self.terminator set to '\r\n', in
order to process the single-line greeting.  Just before issuing a
'LIST' command you'll set it to '\r\n.\r\n'.  The output of the LIST
command will be accumulated (using your own 'collect_incoming_data'
method) up to the terminator, and then control will be returned to
you - by calling your self.found_terminator() method.
�N)�deque)�warnzlThe asynchat module is deprecated and will be removed in Python 3.12. The recommended replacement is asyncio�)�
stacklevelc@s�eZdZdZdZdZdZdZd(dd�Zdd	�Z	d
d�Z
dd
�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�ZdS))�
async_chatz�This is an abstract class.  You must derive from this class, and add
    the two methods collect_incoming_data() and found_terminator()irzlatin-1NcCs(d|_g|_t�|_tj�|||�dS�N�)�ac_in_buffer�incomingr�
producer_fifo�asyncore�
dispatcher�__init__)�self�sock�map�r�/usr/lib/python3.10/asynchat.pyrKszasync_chat.__init__cC�td���Nzmust be implemented in subclass��NotImplementedError�r�datarrr�collect_incoming_dataY�z async_chat.collect_incoming_datacCs|j�|�dS�N)r
�appendrrrr�_collect_incoming_data\sz!async_chat._collect_incoming_datacCsd�|j�}|jdd�=|Sr)�joinr
)r�drrr�	_get_data_szasync_chat._get_datacCrrr�rrrr�found_terminatordrzasync_chat.found_terminatorcCsBt|t�r|jrt||j�}n
t|t�r|dkrtd��||_dS)zdSet the input delimiter.

        Can be a fixed string of any length, an integer, or None.
        rz-the number of received bytes must be positiveN)�
isinstance�str�use_encoding�bytes�encoding�int�
ValueError�
terminator)r�termrrr�set_terminatorgs

zasync_chat.set_terminatorcCs|jSr)r+r"rrr�get_terminatorrszasync_chat.get_terminatorcCs�z|�|j�}WntyYdSty|��YdSwt|t�r.|jr.tt|j	�}|j
||_
|j
r�t|j
�}|��}|sL|�
|j
�d|_
n�t|t�r�|}||krg|�
|j
�d|_
|j||_np|�
|j
d|��|j
|d�|_
d|_|��nVt|�}|j
�|�}|dkr�|dkr�|�
|j
d|��|j
||d�|_
|��n+t|j
|�}|r�||kr�|�
|j
d|��|j
|d�|_
dS|�
|j
�d|_
|j
s7dSdS)Nrr���)�recv�ac_in_buffer_size�BlockingIOError�OSError�handle_errorr$r%r&r'r(r	�lenr.rr)r+r#�find�find_prefix_at_end)rr�lbr+�n�terminator_len�indexrrr�handle_readzsV�


	
�zasync_chat.handle_readcC�|��dSr)�
initiate_sendr"rrr�handle_write��zasync_chat.handle_writecCr=r)�closer"rrr�handle_close�r@zasync_chat.handle_closecCsxt|tttf�stdt|���|j}t|�|kr0tdt|�|�D]}|j	�
||||��q n|j	�
|�|��dS)Nz#data argument must be byte-ish (%r)r)r$r'�	bytearray�
memoryview�	TypeError�type�ac_out_buffer_sizer5�rangerrr>)rr�sabs�irrr�push�s��zasync_chat.pushcCs|j�|�|��dSr)rrr>)r�producerrrr�push_with_producer�szasync_chat.push_with_producercCsdS)z4predicate for inclusion in the readable for select()�rr"rrr�readable�szasync_chat.readablecCs|jp|jS)z4predicate for inclusion in the writable for select())r�	connectedr"rrr�writable�szasync_chat.writablecCs|j�d�dS)zAautomatically close this channel once the outgoing queue is emptyN)rrr"rrr�close_when_done�szasync_chat.close_when_donecCs|jr�|jr�|jd}|s|jd=|dur|��dS|j}z|d|�}Wnty@|��}|r:|j�|�n|jd=Yqwt|t�rO|j	rOt
||j�}z|�|�}Wnt
yd|��YdSw|r�|t|�kss|t|�kr~||d�|jd<dS|jd=dSdSdS)Nr)rrPrBrGrE�more�
appendleftr$r%r&r'r(�sendr3r4r5)r�first�obsr�num_sentrrrr>�s@
����zasync_chat.initiate_sendcCs d|_|jdd�=|j��dSr)r	r
r�clearr"rrr�discard_buffersszasync_chat.discard_buffers)NN)�__name__�
__module__�__qualname__�__doc__r1rGr&r(rrrr!r#r-r.r<r?rBrKrMrOrQrRr>rZrrrrr<s.
H(rc@seZdZddd�Zdd�ZdS)�simple_producer�cCs||_||_dSr)r�buffer_size)rrrarrrrs
zsimple_producer.__init__cCsFt|j�|jkr|jd|j�}|j|jd�|_|S|j}d|_|Sr)r5rra)r�resultrrrrSszsimple_producer.moreN)r`)r[r\r]rrSrrrrr_s
r_cCsDt|�d}|r |�|d|��s |d8}|r |�|d|��r|S)NrN)r5�endswith)�haystack�needle�lrrrr77s
�r7)r^r�collectionsr�warningsr�DeprecationWarningr
rr_r7rrrr�<module>s�\ 

Spamworldpro Mini