o
    ]f                     @   s$   d Z ddlmZ G dd deZdS )a%  
    flask_caching.backends.base
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    This module contains the BaseCache that other caching
    backends have to implement.

    :copyright: (c) 2018 by Peter Justin.
    :copyright: (c) 2010 by Thadeus Burgess.
    :license: BSD, see LICENSE for more details.
    )	BaseCachec                   @   s.   e Zd ZdZd
ddZedd Zdd Zd	S )r   aM  Baseclass for the cache systems.  All the cache systems implement this
    API or a superset of it.

    :param default_timeout: The default timeout (in seconds) that is used if
                            no timeout is specified on :meth:`set`. A timeout
                            of 0 indicates that the cache never expires.
    ,  c                 C   s   t j| |d d| _d S )N)default_timeoutF)CachelibBaseCache__init__ignore_errors)selfr    r	   T/home/ubuntu/webapp/venv/lib/python3.10/site-packages/flask_caching/backends/base.pyr      s   
zBaseCache.__init__c                 C   s   |  S )Nr	   )clsappconfigargskwargsr	   r	   r
   factory   s   zBaseCache.factoryc                 G   s4   g }|D ]}|  |r|| q| js |S q|S )zDeletes multiple keys at once.

        :param keys: The function accepts multiple keys as positional
                        arguments.
        :returns: A list containing all sucessfuly deleted keys
        :rtype: boolean
        )deleteappendr   )r   keysdeleted_keyskeyr	   r	   r
   delete_many!   s   
zBaseCache.delete_manyN)r   )__name__
__module____qualname____doc__r   classmethodr   r   r	   r	   r	   r
   r      s    

r   N)r   cachelibr   r   r	   r	   r	   r
   <module>   s    