o
    ËÉh  ã                   @   s`   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G dd	„ d	ejƒZd
S )é    )ÚValidationError)Úcached_property)Úgettext_lazy)Úblocks)Úembed_to_frontend_htmlc                   @   s.   e Zd ZdZd	dd„Zedd„ ƒZdd„ ZdS )
Ú
EmbedValueaW  
    Native value of an EmbedBlock. Should, at minimum, have a 'url' property
    and render as the embed HTML when rendered in a template.
    NB We don't use a wagtailembeds.model.Embed object for this, because
    we want to be able to do {% embed value.url 500 %} without
    doing a redundant fetch of the embed at the default width.
    Nc                 C   s   || _ || _|| _d S ©N)ÚurlÚ	max_widthÚ
max_height)Úselfr	   r
   r   © r   úU/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/embeds/blocks.pyÚ__init__   s   
zEmbedValue.__init__c                 C   s   t | j| j| jƒS r   )r   r	   r
   r   ©r   r   r   r   Úhtml   s   zEmbedValue.htmlc                 C   s   | j S r   )r   r   r   r   r   Ú__str__   s   zEmbedValue.__str__)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r   	   s    

r   c                       sZ   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Z‡ fdd„Zdd„ Z	G dd„ dƒZ
‡  ZS )Ú
EmbedBlockc                 C   sF   | j jsd S t| j jtƒr| j jS t| j jt| j dd ƒt| j dd ƒƒS ©Nr
   r   )ÚmetaÚdefaultÚ
isinstancer   Úgetattrr   r   r   r   Úget_default    s   ýzEmbedBlock.get_defaultc                 C   ó(   |sd S t |t| jdd ƒt| jdd ƒƒS r   ©r   r   r   ©r   Úvaluer   r   r   Ú	to_python.   s   ýzEmbedBlock.to_pythonc                 C   ó   |d u rdS |j S ©NÚ ©r	   r    r   r   r   Úget_prep_value:   ó   zEmbedBlock.get_prep_valuec                 C   r#   r$   r&   r    r   r   r   Úvalue_for_formA   r(   zEmbedBlock.value_for_formc                 C   r   r   r   r    r   r   r   Úvalue_from_formH   s   ýzEmbedBlock.value_from_formc                    s(   t |tƒr|jsttdƒƒ‚tƒ  |¡S )Nz"Cannot find an embed for this URL.)r   r   r   r   Ú_ÚsuperÚcleanr    ©Ú	__class__r   r   r-   S   s   zEmbedBlock.cleanc                 C   s   t |tƒr|S t|ƒS r   )r   r   r    r   r   r   Ú	normalizeX   s   
zEmbedBlock.normalizec                   @   s   e Zd ZdZdS )zEmbedBlock.MetaÚmediaN)r   r   r   Úiconr   r   r   r   ÚMeta]   s    r3   )r   r   r   r   r"   r'   r)   r*   r-   r0   r3   Ú__classcell__r   r   r.   r   r      s    r   N)Údjango.core.exceptionsr   Údjango.utils.functionalr   Údjango.utils.translationr   r+   Úwagtailr   Úwagtail.embeds.formatr   r   ÚURLBlockr   r   r   r   r   Ú<module>   s    