U
    ad                     @   sX   d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	 d dl
mZ G dd deZdS )	    )settings)DEFAULT_CACHE_ALIAScaches)InvalidCacheBackendError)BaseCommandCommandError)signalcommandc                   @   s(   e Zd ZdZdZdd Zedd ZdS )Commandz=A simple management command which clears the site-wide cache.zFully clear site-wide cache.c                 C   s*   |j dddd |j ddddd	d
d d S )Nz--cacheappendzName of cache to clear)actionhelpz--allz-a
store_trueF
all_cacheszClear all configured caches)r   defaultdestr   )add_argument)selfparser r   U/tmp/pip-unpacked-wheel-portabvm/django_extensions/management/commands/clear_cache.pyadd_arguments   s     zCommand.add_argumentsc              	   O   s   |s|st g}n*|r"|r"tdn|r:ttdt i i }|D ]J}zt|   W n$ tk
rv   | j	d|  Y q>X | j
	d|  q>d S )Nz-Using both --all and --cache is not supportedZCACHESzCache "%s" is invalid!
zCache "%s" has been cleared!
)r   r   getattrr   keysr   clearr   stderrwritestdout)r   cacher   argskwargskeyr   r   r   handle   s    
zCommand.handleN)__name__
__module____qualname____doc__r   r   r   r!   r   r   r   r   r	      s
   r	   N)Zdjango.confr   Zdjango.core.cacher   r   Zdjango.core.cache.backends.baser   Zdjango.core.management.baser   r   Z"django_extensions.management.utilsr   r	   r   r   r   r   <module>   s
   