o
    ^"<f                     @   s   d dl Z d dlZd dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZmZmZmZ g ZeD ]
Zeee q2e D ]\ZZdedef Zeee qAG d	d
 d
eZdS )    N)input)settings)BaseCommandCommandError)FileListing)	DIRECTORYEXCLUDEEXTENSION_LISTVERSIONSz_%s(%s)|c                   @   s(   e Zd ZdZdd Zdd Zdd ZdS )	Commandz(Re)Generate image versions.c                 C   s   |j ddd d S )N
media_path   )nargs)add_argument)selfparser r   j/var/www/html/kck/venv/lib/python3.10/site-packages/filebrowser/management/commands/fb_version_generate.pyadd_arguments   s   zCommand.add_argumentsc                 O   s&  d}t |r|d }|}nt}tjtjtj|s!td| 	 | j	
d tD ]
}| j	
d|  q*td}|dkr@d }nzt| }|}W n   | j
d|  d }Y q!t|| jd	}	|	 D ]-}
|
jd
kr|r}| j	
d||
jf  |
|}qc| j	
d|
j  tD ]}|
|}qqcd S )N r   z<media_path> must be a directory in MEDIA_ROOT (If you don't add a media_path the default path is DIRECTORY).
"%s" is no directory.r   z(
Select a version you want to generate:
z * %s
z((leave blank to generate all versions): z#Error: Version "%s" doesn't exist.
)filter_funcImagez generating version "%s" for: %s
z generating all versions for: %s
)lenr   ospathisdirjoinr   
MEDIA_ROOTr   stdoutwriter
   r   stderrr   filter_imagesfiles_walk_filteredfiletypeversion_generate)r   argsoptionsr   r   versionversion_nameselected_versiontmpfilelisting
fileobjectversionobjectr   r   r   handle   sD   
zCommand.handlec                 C   s2   |j d}tD ]
}||j rd}q|rdS dS )N.TF)filename
startswith	filter_research)r   itemfiltered	re_prefixr   r   r   r"   [   s   zCommand.filter_imagesN)__name__
__module____qualname__helpr   r/   r"   r   r   r   r   r      s
    @r   )r   re	six.movesr   django.confr   django.core.management.baser   r   filebrowser.baser   filebrowser.settingsr   r   r	   r
   r3   expappendcompileitemskvr   r   r   r   r   r   <module>   s   