U
    
‰dî	  ã                   @   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ddddh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/Z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.pngz.jpgz.jpegz.pngz.gifc                   C   s   t ttddƒƒƒ S )NZCKEDITOR_STORAGE_BACKENDz(django.core.files.storage.DefaultStorage)r   Úgetattrr   © r   r   ú;/tmp/pip-unpacked-wheel-g6xi1tgp/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ÚregexZ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kS )Né   )r   r   r   ÚlowerÚIMAGE_EXTENSIONS)Ú	file_pathÚ	extensionr   r   r	   Úis_valid_image_extensionX   s    r,   )Úos.pathr   r   r   r   Zdjango.confr   Zdjango.template.defaultfiltersr   Zdjango.utils.encodingr   Zdjango.utils.module_loadingr   r"   r   Zfileicons_pathZoverride_iconsZckeditor_iconsr   r)   r
   r$   r   r   r   r!   r#   r&   r,   r   r   r   r	   Ú<module>   s:   
ÿ





ú
	