add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
3

�
�^@,c@s@ddlZddlmZGdd�dej�ZGdd�d�Zdd�ZdS)	�N)�dequec@s�eZdZdZdZdZdZd'dd�Zdd�Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�ZdS)(�
async_chatirzlatin-1NcCs(d|_g|_t�|_tjj|||�dS�N�)�ac_in_buffer�incomingr�
producer_fifo�asyncore�
dispatcher�__init__)�selfZsockZmap�r� /usr/lib64/python3.6/asynchat.pyr
Cszasync_chat.__init__cC�td��dS�Nzmust be implemented in subclass�ZNotImplementedError�r�datarrr
�collect_incoming_dataQ�z async_chat.collect_incoming_datacCs|jj|�dS�N)r�appendrrrr
�_collect_incoming_dataTrz!async_chat._collect_incoming_datacCsdj|j�}|jdd�=|Sr)Zjoinr)rZdrrr
�	_get_dataWszasync_chat._get_datacCrrr�rrrr
�found_terminator\rzasync_chat.found_terminatorcCsBt|t�r|jrt||j�}nt|t�r8|dkr8td��||_dS)Nrz-the number of received bytes must be positive)�
isinstance�str�use_encoding�bytes�encoding�intZ
ValueError�
terminator)rZtermrrr
�set_terminator_s
zasync_chat.set_terminatorcCs|jSr)r!rrrr
�get_terminatorjrzasync_chat.get_terminatorcCs�y|j|j�}Wn:tk
r$dStk
rJ}z|j�dSd}~XnXt|t�rh|jrhtt|j	�}|j
||_
�xV|j
�r�t|j
�}|j�}|s�|j
|j
�d|_
qxt|t��r|}||kr�|j
|j
�d|_
|j||_n2|j
|j
d|��|j
|d�|_
d|_|j�qxt|�}|j
j|�}|dk�rp|dk�rR|j
|j
d|��|j
||d�|_
|j�qxt|j
|�}|�r�||k�r�|j
|j
d|��|j
|d�|_
Pqx|j
|j
�d|_
qxWdS)Nrr�i����)Zrecv�ac_in_buffer_sizeZBlockingIOError�OSError�handle_errorrrrrrr�lenr#rr r!rZfind�find_prefix_at_end)rrZwhyZlbr!ZnZterminator_lenZindexrrr
�handle_readrsR

	



zasync_chat.handle_readcC�|j�dSr)�
initiate_sendrrrr
�handle_write�rzasync_chat.handle_writecCr+r)Zcloserrrr
�handle_close�rzasync_chat.handle_closecCs|t|tttf�stdt|���|j}t|�|krdx>tdt|�|�D]}|j	j
||||��qBWn|j	j
|�|j�dS)Nz#data argument must be byte-ish (%r)r)rrZ	bytearrayZ
memoryview�	TypeErrorZtype�ac_out_buffer_sizer(Zrangerrr,)rrZsabsZirrr
�push�s
zasync_chat.pushcCs|jj|�|j�dSr)rrr,)rZproducerrrr
�push_with_producer�szasync_chat.push_with_producercCsdS�Nr$rrrrr
�readable�szasync_chat.readablecCs|jp|jSr)r�	connectedrrrr
�writable��zasync_chat.writablecCs|jjd�dSr)rrrrrr
�close_when_done�r7zasync_chat.close_when_donecCs�x|jo|j�r|jd}|s<|jd=|dkr<|j�dS|j}y|d|�}Wn8tk
r�|j�}|r||jj|�n|jd=wYnXt|t�r�|j	r�t
||j�}y|j|�}Wnt
k
r�|j�dSX|�r|t|�ks�|t|�k�r||d�|jd<n|jd=dSWdS)Nr)rr5r.r0r/�moreZ
appendleftrrrrrZsendr&r'r()rZfirstZobsrZnum_sentrrr
r,�s8
zasync_chat.initiate_sendcCs d|_|jdd�=|jj�dSr)rrrZclearrrrr
�discard_buffersszasync_chat.discard_buffers)NN)�__name__�
__module__�__qualname__r%r0rrr
rrrrr"r#r*r-r.r1r2r4r6r8r,r:rrrr
r4s*
H(rc@seZdZddd�Zdd�ZdS)�simple_producer�cCs||_||_dSr)r�buffer_size)rrr@rrr
r
szsimple_producer.__init__cCsJt|j�|jkr6|jd|j�}|j|jd�|_|S|j}d|_|SdSr)r(rr@)rZresultrrr
r9szsimple_producer.moreN)r?)r;r<r=r
r9rrrr
r>s
r>cCs6t|�d}x$|r0|j|d|��r0|d8}qW|Sr3)r(Zendswith)ZhaystackZneedleZlrrr
r)/sr))rZcollectionsrr	rr>r)rrrr
Z<module>0s
\