Uname: Linux premium294.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: 768 (artoqlkw)
Group: 773 (artoqlkw)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//lib64/python2.7      ( Reset | Go to )
File Name: asynchat.pyo
�
zfc@s�dZddlZddlZddlZddlmZddlmZddlm    Z    m
Z
ej ej ej ejfZdejfd��YZdd d    ��YZd
dd ��YZd �ZdS(s�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.
i����N(tdeque(t py3kwarning(tfilterwarningstcatch_warningst
async_chatcBs�eZdZdZdZddd�Zd�Zd�Zd�Z    d�Z
d�Z d�Z d    �Z d
�Zd �Zd �Zd �Zd�Zd�Zd�Zd�Zd�ZRS(s�This is an abstract class.  You must derive from this class, and add
    the two methods collect_incoming_data() and found_terminator()icCs8d|_g|_t�|_tjj|||�dS(Nt(t ac_in_buffertincomingRt producer_fifotasyncoret
dispatchert__init__(tselftsocktmap((s /usr/lib64/python2.7/asynchat.pyR Es         cCstd��dS(Nsmust be implemented in subclass(tNotImplementedError(R tdata((s /usr/lib64/python2.7/asynchat.pytcollect_incoming_dataVscCs|jj|�dS(N(Rtappend(R R((s /usr/lib64/python2.7/asynchat.pyt_collect_incoming_dataYscCsdj|j�}|j2|S(NR(tjoinR(R td((s /usr/lib64/python2.7/asynchat.pyt    _get_data\scCstd��dS(Nsmust be implemented in subclass(R(R ((s /usr/lib64/python2.7/asynchat.pytfound_terminatorascCs ||_dS(sRSet the input delimiter.  Can be a fixed string of any length, an integer, or NoneN(t
terminator(R tterm((s /usr/lib64/python2.7/asynchat.pytset_terminatordscCs|jS(N(R(R ((s /usr/lib64/python2.7/asynchat.pytget_terminatorhscCsy|j|j�}Wn8tjk
rP}|jdtkrBdS|j�dSX|j||_x�|jrt|j�}|j    �}|s�|j
|j�d|_qdt |t t f�r7|}||kr�|j
|j�d|_|j||_q|j
|j| �|j||_d|_|j�qdt|�}|jj|�}|dkr�|dkr�|j
|j| �n|j|||_|j�qdt|j|�}|r�||kr�|j
|j|  �|j| |_nPqd|j
|j�d|_qdWdS(NiRi����(trecvtac_in_buffer_sizetsocketterrortargst_BLOCKING_IO_ERRORSt handle_errorRtlenRRt
isinstancetinttlongRRtfindtfind_prefix_at_end(R RtwhytlbRtntterminator_lentindex((s /usr/lib64/python2.7/asynchat.pyt handle_readpsN
                      cCs|j�dS(N(t initiate_send(R ((s /usr/lib64/python2.7/asynchat.pyt handle_write�scCs|j�dS(N(tclose(R ((s /usr/lib64/python2.7/asynchat.pyt handle_close�scCsz|j}t|�|kr\xNtdt|�|�D]!}|jj||||!�q4Wn|jj|�|j�dS(Ni(tac_out_buffer_sizeR#txrangeRRR/(R Rtsabsti((s /usr/lib64/python2.7/asynchat.pytpush�s     "cCs|jj|�|j�dS(N(RRR/(R tproducer((s /usr/lib64/python2.7/asynchat.pytpush_with_producer�scCsdS(s4predicate for inclusion in the readable for select()i((R ((s /usr/lib64/python2.7/asynchat.pytreadable�scCs|jp|j S(s4predicate for inclusion in the writable for select()(Rt    connected(R ((s /usr/lib64/python2.7/asynchat.pytwritable�scCs|jjd�dS(sAautomatically close this channel once the outgoing queue is emptyN(RRtNone(R ((s /usr/lib64/python2.7/asynchat.pytclose_when_done�scCsfx_|jra|jra|jd}|sO|jd=|dkrO|j�dSn|j}y?t��0tr~tddt�nt    |d|�}WdQXWnCt
k
r�|j �}|r�|jj |�q|jd=qnXy|j |�}Wntjk
r|j�dSX|r]|t|�ks<|t|�krP|||jd<q]|jd=ndSWdS(Nitignores.*buffer(RR;R=R2R3RRRtDeprecationWarningtbuffert    TypeErrortmoret
appendlefttsendRRR"R#(R tfirsttobsRtnum_sent((s /usr/lib64/python2.7/asynchat.pyR/�s: 
 
    
  

$ cCs!d|_|j2|jj�dS(NR(RRRtclear(R ((s /usr/lib64/python2.7/asynchat.pytdiscard_buffers�s    N(t__name__t
__module__t__doc__RR3R=R RRRRRRR.R0R2R7R9R:R<R>R/RJ(((s /usr/lib64/python2.7/asynchat.pyR<s(                            D                                    (tsimple_producercBseZdd�Zd�ZRS(icCs||_||_dS(N(Rt buffer_size(R RRO((s /usr/lib64/python2.7/asynchat.pyR s    cCsYt|j�|jkr?|j|j }|j|j|_|S|j}d|_|SdS(NR(R#RRO(R tresult((s /usr/lib64/python2.7/asynchat.pyRC s        (RKRLR RC(((s /usr/lib64/python2.7/asynchat.pyRNs tfifocBsAeZdd�Zd�Zd�Zd�Zd�Zd�ZRS(cCs(|st�|_nt|�|_dS(N(Rtlist(R RR((s /usr/lib64/python2.7/asynchat.pyR scCs t|j�S(N(R#RR(R ((s /usr/lib64/python2.7/asynchat.pyt__len__scCs|j S(N(RR(R ((s /usr/lib64/python2.7/asynchat.pytis_emptyscCs |jdS(Ni(RR(R ((s /usr/lib64/python2.7/asynchat.pyRF"scCs|jj|�dS(N(RRR(R R((s /usr/lib64/python2.7/asynchat.pyR7%scCs$|jrd|jj�fSdSdS(Nii(iN(RRtpopleftR=(R ((s /usr/lib64/python2.7/asynchat.pytpop(s    N(    RKRLR=R RSRTRFR7RV(((s /usr/lib64/python2.7/asynchat.pyRQs                  cCs?t|�d}x(|r:|j|| � r:|d8}qW|S(Ni(R#tendswith(thaystacktneedletl((s /usr/lib64/python2.7/asynchat.pyR(=s(((RMR    terrnoRt collectionsRtsysRtwarningsRRtEAGAINtEALREADYt EINPROGRESSt EWOULDBLOCKR!R
RRNRQR((((s /usr/lib64/python2.7/asynchat.pyt<module>/s    �(

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL