
    h	                     8    d dl Z d dlZd dlmZ d Zd Zd Zd Zy)    N)sha1_not_used_for_securityc                    |g}d| j                   v sd| j                  v r:|t        j                  j	                  |      d   dd k7  r4|j                  |       n"|j                  dj                  |      |g       dj                  |      S )zp
    Easy-thumbnails' default name processor.

    For example: ``source.jpg.100x100_q80_crop_upscale.jpg``
    z%(opts)s   N_.)thumbnail_basedirthumbnail_subdirospathsplitextappendextendjoin)thumbnailerprepared_optionssource_filenamethumbnail_extensionkwargsfilename_partss         F/home/dcms/DCMS/lib/python3.12/site-packages/easy_thumbnails/namers.pydefaultr      s     &&Nk333+666"''"2"2?"CA"Fqr"JJ!!"56sxx(89;NOP88N##    c                 J    dj                  ||j                  dd      |g      S )z
    Generate filename based on thumbnail alias name (option ``THUMBNAIL_ALIASES``).

    For example: ``source.jpg.medium_large.jpg``
    r   ALIAS )r   get)r   thumbnail_optionsr   r   r   s        r   aliasr      s)     88_&7&;&;GR&HJ]^__r   c                     dj                  | g|z         }t        |j                  d            j                         }t	        j
                  |dd       j                  d      }dj                  ||g      S )z
    Generate a short hashed thumbnail filename.

    Creates a 12 character url-safe base64 sha1 filename (plus the extension),
    for example: ``6qW1buHgLaZ9.jpg``.
    :utf-8N	   r   )r   r   encodedigestbase64urlsafe_b64encodedecode)r   r   r   r   parts	short_sha
short_hashs          r   hashedr+   "   sm     HHo&)99:E*5<<+@AHHJI)))BQ-8??HJ88Z!4566r   c                    t        | j                  d            j                         }t        j                  |dd       j                  d      }dj                  |dd       }t        |j                  d            j                         }t        j                  |dd       j                  d      }|d|d   d|d	|S )
a{  
    Generate a thumbnail filename of the source filename and options separately
    hashed, along with the size.

    The format of the filename is a 12 character base64 sha1 hash of the source
    filename, the size surrounded by underscores, and an 8 character options
    base64 sha1 hash of the thumbnail options. For example:
    ``1xedFtqllFo9_100x100_QHCa6G1l.jpg``.
    r!   Nr"   r    r      r   r   r   )r   r#   r$   r%   r&   r'   r   )	r   r   r   r   
source_shasource_hashr(   	parts_shaoptions_hashs	            r   source_hashedr2   /   s     ,O,B,B7,KLSSUJ**:bq>:AA'JKHH%ab)*E*5<<+@AHHJI++IbqM:AA'JL%a(,8KM Mr   )r%   r
   easy_thumbnails.utilsr   r   r   r+   r2    r   r   <module>r5      s$     	 <$"`
7Mr   