ó
ì$Sc           @   s6   d  Z  d Z d d l m Z d e f d „  ƒ  YZ d S(   s%   Copyright (c) 2012 Yaroslav Halchenkot   GPLiÿÿÿÿ(   t   Lockt	   DummyJailc           B   s;   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   sB   A simple 'jail' to suck in all the tickets generated by Filter's
	c         C   s   t  ƒ  |  _ g  |  _ d  S(   N(   R   t   lockt   queue(   t   self(    (    s*   /usr/share/fail2ban/testcases/dummyjail.pyt   __init__   s    c         C   s3   z |  j  j ƒ  t |  j ƒ SWd  |  j  j ƒ  Xd  S(   N(   R   t   acquiret   lenR   t   release(   R   (    (    s*   /usr/share/fail2ban/testcases/dummyjail.pyt   __len__!   s    c         C   s6   z! |  j  j ƒ  |  j j | ƒ Wd  |  j  j ƒ  Xd  S(   N(   R   R   R   t   appendR	   (   R   t   ticket(    (    s*   /usr/share/fail2ban/testcases/dummyjail.pyt   putFailTicket(   s    c         C   sL   z7 |  j  j ƒ  y |  j j ƒ  SWn t k
 r5 t SXWd  |  j  j ƒ  Xd  S(   N(   R   R   R   t   popt
   IndexErrort   FalseR	   (   R   (    (    s*   /usr/share/fail2ban/testcases/dummyjail.pyt   getFailTicket/   s    	c         C   s   d t  |  ƒ t |  ƒ f S(   Ns   DummyJail #%s with %d tickets(   t   idR   (   R   (    (    s*   /usr/share/fail2ban/testcases/dummyjail.pyt   getName9   s    (   t   __name__t
   __module__t   __doc__R   R
   R   R   R   (    (    (    s*   /usr/share/fail2ban/testcases/dummyjail.pyR      s   				
N(   t   __copyright__t   __license__t	   threadingR   t   objectR   (    (    (    s*   /usr/share/fail2ban/testcases/dummyjail.pyt   <module>   s   