U
    Zf                     @   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	   ?/tmp/pip-unpacked-wheel-0x57cbey/flask_caching/backends/base.pyr      s    zBaseCache.__init__c                 C   s   |  S )Nr	   )clsZappconfigargskwargsr	   r	   r
   factory   s    zBaseCache.factoryc                 G   s2   g }|D ]$}|  |r"|| q| js q.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   keysZ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   Zcachelibr   r   r	   r	   r	   r
   <module>   s   