
    Gkc                     \    d Z dZddlmZ ddlmZ ddlmZ  G d de      Z G d	 d
e      Z	y)z%Copyright (c) 2012 Yaroslav HalchenkoGPL    )Lock   )Jail)Actionsc                       e Zd Zd Zy)DummyActionsc                 "    | j                         S N)_Actions__checkBanselfs    :/usr/lib/python3/dist-packages/fail2ban/tests/dummyjail.pycheckBanzDummyActions.checkBan    s    		 	 	""    N)__name__
__module____qualname__r    r   r   r	   r	      s    #r   r	   c                        e Zd ZdZd fd	Zd Zd Zd Zed        Z	d Z
d Zed	        Zej                  d
        Zed        Zd Z xZS )	DummyJailzBA simple 'jail' to suck in all the tickets generated by Filter's
	c                 |    t               | _        g | _        t        t        |   ||       t        |       | _        y )N)namebackend)r   lockqueuesuperr   __init__r	   _DummyJail__actions)r   r   r   	__class__s      r   r   zDummyJail.__init__'   s3    f$)$*	4!tW!=%$.r   c                 p    | j                   5  t        | j                        cd d d        S # 1 sw Y   y xY wr   )r   lenr   r   s    r   __len__zDummyJail.__len__-   s)    yy 
djj/     ,5c                 `    | j                   5  | j                   cd d d        S # 1 sw Y   y xY wr   )r   r   r   s    r   isEmptyzDummyJail.isEmpty1   s'    yy jj.  s   $-c                 p    | j                   5  t        | j                        cd d d        S # 1 sw Y   y xY wr   )r   boolr   r   s    r   isFilledzDummyJail.isFilled5   s*    yy 
tzz
  r$   c                 ,    t        | j                        S r   )r(   r   r   s    r   hasFailTicketszDummyJail.hasFailTickets9   s    	djj	r   c                 |    | j                   5  | j                  j                  |       d d d        y # 1 sw Y   y xY wr   )r   r   append)r   tickets     r   putFailTicketzDummyJail.putFailTicket=   s0    yy ::V  s   2;c                     | j                   5  	 | j                  j                         cd d d        S # t        $ r Y d d d        yw xY w# 1 sw Y   y xY wNF)r   r   pop
IndexErrorr   s    r   getFailTicketzDummyJail.getFailTicketA   sT    yy ::>>   	  s%   A	2	AA	AA		Ac                      yr1   r   r   s    r   idlezDummyJail.idleH   s    	r   c                      y r   r   )r   values     r   r6   zDummyJail.idleL   s    r   c                     | j                   S r   )r   r   s    r   actionszDummyJail.actionsP   s    	r   c                      y)NTr   r   s    r   isAlivezDummyJail.isAliveT   s    	r   )r   N)r   r   r   __doc__r   r#   r&   r)   propertyr+   r/   r4   r6   setterr:   r<   __classcell__)r    s   @r   r   r   $   s    &     ++   r   r   N)
__copyright____license__	threadingr   server.jailr   server.actionsr   r	   r   r   r   r   <module>rF      s2   , 8   $#7 #
1 1r   