U
    ânldJ  ã                   @   sH   d dl mZ dadadd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dS )é    )Úget_storageFéÿÿÿÿc               	   C   sl   g } t ƒ }| d¡}|D ]8}|| dkr4|  |¡ q| d|tt|| ƒd ¡ q| D ]}| d|¡ qVd S )NÚbannedr   é   )r   Zget_all_hash_intÚappendZset_hash_intÚminÚ	thresholdZdel_hash)Z
clear_listÚsr   Úip© r   ú4/var/www/html/LibreTranslate/libretranslate/flood.pyÚforgive_banned   s    
r   c                 C   s   | j dkrda| j ad S )Nr   T)Úreq_flood_thresholdÚactiver   )Úargsr   r   r   Úsetup   s    
r   c                 C   s   t rtƒ  d| ¡ d S ©Nr   )r   r   Zinc_hash_int)Ú
request_ipr   r   r   Úreport   s    r   c                 C   s&   t ƒ }| d| ¡dkr"| d| ¡ d S ©Nr   r   )r   Úget_hash_intZdec_hash_int©r   r	   r   r   r   Údecrease"   s    r   c                 C   s   t ƒ }| d| ¡dkS r   )r   r   r   r   r   r   Úhas_violation'   s    r   c                 C   s   t ƒ }to| d| ¡tkS r   )r   r   r   r   r   r   r   r   Ú	is_banned+   s    r   N)
Zlibretranslate.storager   r   r   r   r   r   r   r   r   r   r   r   r   Ú<module>   s   