o
    ÷=âgî	  ã                   @   s  d dl Zd dlZd dl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 eeddƒ¡Zeed	g ƒZd
ed fded fded fded fded fded fgZee Zh d£Zdd„ Zeƒ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ ZdS )'é    N)Úsettings)Úslugify)Ú	force_str)Úimport_stringz{}/file-icons/ÚCKEDITOR_FILEICONS_PATHz/static/ckeditorÚCKEDITOR_FILEICONSz\.pdf$zpdf.pngz\.doc$|\.docx$|\.odt$zdoc.pngz\.txt$ztxt.pngz\.ppt$zppt.pngz\.xls$zxls.pngz.*zfile.png>   ú.gifú.jpgú.pngú.jpegc                   C   s   t ttddƒƒƒ S )NÚCKEDITOR_STORAGE_BACKENDz(django.core.files.storage.DefaultStorage)r   Úgetattrr   © r   r   úJ/var/www/html/venv/lib/python3.10/site-packages/ckeditor_uploader/utils.pyÚget_storage_class#   s   ýÿr   c                 C   s    t j | ¡\}}t|ƒ}|| S )zSlugify filename)ÚosÚpathÚsplitextÚget_slugified_name)ÚfilenameÚnameÚextÚ	slugifiedr   r   r   Úslugify_filename0   s   r   c                 C   s   t | ƒ}|ptƒ S )N)r   Úget_random_string)r   r   r   r   r   r   7   s   
r   c                   C   s   d  t tjd d¡¡S )NÚ é   )ÚjoinÚrandomÚsampleÚstringÚascii_lowercaser   r   r   r   r   <   s   r   c                 C   s*   t D ]\}}t || tj¡r|  S qdS )zD
    Return the path to a file icon that matches the file name.
    N)r   ÚreÚsearchÚI)Ú	file_nameÚregexÚiconpathr   r   r   Úget_icon_filename@   s
   ÿÿr(   c                 C   s   t dƒjtj | ¡Ž S )z_
    Generate thumb filename by adding _thumb to end of
    filename before . (if present)
    z{0}_thumb{1})r   Úformatr   r   r   )r%   r   r   r   Úget_thumb_filenameI   s   r*   c                 C   s
   t  | ¡S )z,
    Determine system file's media URL.
    )ÚstorageÚurl)r   r   r   r   Úget_media_urlQ   s   
r-   c                 C   s   t j |  ¡ ¡d }|tv S )Né   )r   r   r   ÚlowerÚIMAGE_EXTENSIONS)Ú	file_pathÚ	extensionr   r   r   Úis_valid_image_extensionX   s   r3   )Úos.pathr   r   r"   r    Údjango.confr   Údjango.template.defaultfiltersr   Údjango.utils.encodingr   Údjango.utils.module_loadingr   r)   r   Úfileicons_pathÚoverride_iconsÚckeditor_iconsr   r0   r   r+   r   r   r   r(   r*   r-   r3   r   r   r   r   Ú<module>   s<    
ÿ





ú
	