o
    ÍÉhq  ã                   @   sN   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z
 G dd„ dƒZdS )	é    )Úsettings)ÚImproperlyConfigured)Úflatatt)Ú	mark_safe)Úgettext_lazyc                       sD   e Zd ZdZdZdZdZdZedƒZ	dZ
‡ fdd„Zd	d
„ Z‡  ZS )ÚThumbnailMixinzÕ
    Mixin class to help display thumbnail images in ModelAdmin listing results.
    `thumb_image_field_name` must be overridden to name a ForeignKey field on
    your model, linking to `wagtailimages.Image`.
    Úimagezfill-100x100é2   zadmin-thumbNc                    s4   dt jvr	tdƒ‚| j| jj_tƒ j|i |¤Ž d S )Nzwagtail.imageszVThe `wagtail.images` app must be installed in order to use the `ThumbnailMixin` class.)	r   ÚINSTALLED_APPSr   Úthumb_col_header_textÚ	__class__Úadmin_thumbÚshort_descriptionÚsuperÚ__init__)ÚselfÚargsÚkwargs©r   © úY/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail_modeladmin/mixins.pyr      s   
ÿzThumbnailMixin.__init__c                 C   s¦   z	t || jd ƒ}W n ty   td| jj ƒ‚w | j| j| jdddœ}|s4| jr2t	d 
t|ƒ¡ƒS dS ddlm} | j}|||ƒ}| d	|ji¡ t	d 
t|ƒ¡ƒS )
NzZThe `thumb_image_field_name` attribute on your `%s` class must name a field on your model.ÚasyncÚlazy)ÚsrcÚwidthÚclassÚdecodingÚloadingz<img{}>Ú r   )Úget_rendition_or_not_foundr   )ÚgetattrÚthumb_image_field_nameÚAttributeErrorr   r   Ú__name__Úthumb_defaultÚthumb_image_widthÚthumb_classnamer   Úformatr   Úwagtail.images.shortcutsr   Úthumb_image_filter_specÚupdateÚurl)r   Úobjr   Ú	img_attrsr   ÚspecÚ	renditionr   r   r   r      s0   ÿÿÿû
zThumbnailMixin.admin_thumb)r#   Ú
__module__Ú__qualname__Ú__doc__r!   r)   r%   r&   Ú_r   r$   r   r   Ú__classcell__r   r   r   r   r      s    	r   N)Údjango.confr   Údjango.core.exceptionsr   Údjango.forms.utilsr   Údjango.utils.safestringr   Údjango.utils.translationr   r3   r   r   r   r   r   Ú<module>   s    