o
    rjp                     @   sj   d dl Z d dlmZ d dlmZ d dlmZ dedefddZd	ejdejfd
dZdedefddZ	dS )    N)Path)Image)configsourcereturnc                 C   s2   t t|    d d }tj| d S )N    z.jpg)hashlibsha256strresolveencode	hexdigestr   THUMB_CACHE_DIR)r   digest r   7/home/dore/onebot/Bot_Ero/checkin_gallery/thumbnails.py_cache_path	   s   "r   imc                 C   sx   | j dv rtd| jd}| d}|j|| d d |S | j dkr0d| jv r0t| dS | j dkr:| dS | S )	N)RGBALARGB)   r   r   r      )maskPtransparency)	moder   newsizeconvertpastesplitinfo_to_rgb)r   bgrgbar   r   r   r#      s   



r#   c                 C   s   t | }| r!z| j|  jkr|W S W n	 ty    Y nw tjjddd t	| #}t
|}|tjtjftjj |j|dtjdd W d   |S 1 sTw   Y  |S )u3   生成或返回已缓存的 JPEG 缩略图路径。T)parentsexist_okJPEG)qualityoptimizeN)r   is_filestatst_mtimeOSErrorr   r   mkdirr   openr#   	thumbnailTHUMB_MAX_WIDTHTHUMB_MAX_HEIGHT
ResamplingLANCZOSsaveTHUMB_JPEG_QUALITY)r   cacher   r   r   r   ensure_thumbnail   s4   

r9   )
r   pathlibr   PILr   checkin_galleryr   r   r#   r9   r   r   r   r   <module>   s    