o
    e                     @   sJ   d dl Z G dd deZedkr#d dlZG dd dejZe  dS dS )    Nc                   @   s6   e Zd ZG dd dZ	 dddZdd Zdd	 Zd
S )MemCachec                   @   $   e Zd Zdd Zdd Zdd ZdS )zMemCache.Recordc                 C   s   t   | _ || _d S N)timevalue)selfr    r   ED:\Projects\ConvertPro\env\Lib\site-packages\visualdl/python/cache.py__init__   s   

zMemCache.Record.__init__c                 C   s
   d | _ d S r   )r   r   r   r   r	   clear   s   
zMemCache.Record.clearc                 C   s   |dkot   | j  |kS )Nr   )r   r   timeoutr   r   r	   expired   s   zMemCache.Record.expiredN)__name__
__module____qualname__r
   r   r   r   r   r   r	   Record   s    r   c                 C   s   || _ i | _d S r   )_timeout_datar   r   r   r	   r
   #   s   
zMemCache.__init__c                 C   s   t || j|< d S r   )r   r   r   )r   keyr   r   r   r	   set'   s   zMemCache.setc                 C   s4   | j |d }|sd S || jr|  d S |jS r   )r   getr   r   r   r   )r   r   Zrcdr   r   r	   r   *   s   zMemCache.getN)r   )r   r   r   r   r
   r   r   r   r   r   r	   r      s    
r   __main__c                   @   r   )TestMemCacheTestc                 C   s   t dd| _d S )N   )r   )r   cacher   r   r   r	   setUp9   s   zTestMemCacheTest.setUpc                 C   s@   | j dd | | j d td | | j d d S )Nmessagehellor      )r   r   assertFalser   r   sleep
assertTruer   r   r   r	   expire<   s   
zTestMemCacheTest.expirec                 C   sV   | j dd | | j d td | | j d | | j dd u  d S )Nr   r    g?)r   r   r$   r   r   r#   r"   r   r   r   r	   test_have_keyB   s
   
zTestMemCacheTest.test_have_keyN)r   r   r   r   r%   r&   r   r   r   r	   r   8   s    r   )r   objectr   r   ZunittestZTestCaser   mainr   r   r   r	   <module>   s   "