o
    ѷ6i+                     @  s   d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dl
mZ d d	lmZ d d
lmZ G dd deZdS )    )annotationsN)Any)settings)InvalidCacheBackendError)caches)BaseCommand)CommandError)
MySQLCache)collapse_spacesc                   @  s,   e Zd ZdZedZdddZdddZdS )Commandz<optional cache aliases>zg
        Runs cache.cull() on all your MySQLCache caches, or only those
        specified aliases.
    parserargparse.ArgumentParserreturnNonec                 C  s   |j ddddd d S )Naliases*z$Specify the cache alias(es) to cull.)metavarnargshelp)add_argument)selfr    r   w/var/www/hoanhtaovolam_webdjango/env/lib/python3.10/site-packages/django_mysql/management/commands/cull_mysql_caches.pyadd_arguments   s   
zCommand.add_argumentsargsr   	verbosityintr   	list[str]optionsc             	   O  s   |st tj}|D ]?}zt| }W n ty    td|dw t|ts'q	|dkr7| jj	d|ddd |
 }|dkrH| j	| d q	d S )	NzCache z does not exist   zDeleting from cache z...  )endingz entries deleted.)listr   CACHESr   r   r   
isinstancer	   stdoutwritecull)r   r   r   r   r   aliascachenum_deletedr   r   r   handle"   s"   

zCommand.handleN)r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )__name__
__module____qualname__r   r
   r   r   r+   r   r   r   r   r      s    
r   )
__future__r   argparsetypingr   django.confr   django.core.cacher   r   django.core.managementr   r   django_mysql.cacher	   django_mysql.utilsr
   r   r   r   r   r   <module>   s    