
    ~h                     X    d dl Z d dlmZ e j                  j                  Z G d d      Zy)    N)Anyc                   f    e Zd Z e       Zdej                  fdZdededdfdZ	dedefdZ
d
d	Zy)
TimedCache
expirationc                      || _         i | _        y N)r   cache)selfr   s     S/opt/mcp/mcp-sentiment/venv/lib/python3.12/site-packages/fastmcp/utilities/cache.py__init__zTimedCache.__init__
   s    $?A
    keyvaluereturnNc                     t         j                   j                  t              | j                  z   }||f| j                  |<   y r   )datetimenowUTCr   r	   )r
   r   r   expiress       r   setzTimedCache.set   s3    ##'',t> '*

3r   c                     | j                   j                  |      }|.|d   t        j                  j                  t              kD  r|d   S | j
                  S )N   r   )r	   getr   r   r   	NOT_FOUND)r
   r   r   s      r   r   zTimedCache.get   sI    

s#qH,=,=,A,A#,F!F8O>>!r   c                 8    | j                   j                          y r   )r	   clear)r
   s    r   r   zTimedCache.clear   s    

r   )r   N)__name__
__module____qualname__objectr   r   	timedeltar   r   r   r   r    r   r   r   r      sO    IB8#5#5 B+s +3 +4 +"s "s "r   r   )r   typingr   timezoneutcr   r   r"   r   r   <module>r&      s&      r   