o
    ËÉh¶  ã                   @   st   d Z 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
 dd„ ZG d	d
„ d
eƒZdeƒ iddeiidœZdS )z$
Draftail / contentstate conversion
é    )ÚDOM)ÚEntity)ÚAtomicBlockEntityElementHandler)Úembeds)ÚEmbedExceptionc                 C   s   t  dd|  d¡dœ¡S )z®
    Helper to construct elements of the form
    <embed embedtype="media" url="https://www.youtube.com/watch?v=y8Kyi0WNg40"/>
    when converting from contentstate data
    ÚembedÚmediaÚurl)Ú	embedtyper	   )r   Úcreate_elementÚget)Úprops© r   úe/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/embeds/rich_text/contentstate.pyÚmedia_embed_entity   s   þþr   c                   @   s   e Zd ZdZdd„ ZdS )ÚMediaEmbedElementHandlerzl
    Rule for building an embed entity when converting from database representation
    to contentstate
    c                 C   s\   zt  |d ¡}|j|j|j|j|j|jdœ}W n ty'   d|d i}Y nw t	dd|ƒS )Nr	   )Ú	embedTyper	   ÚproviderNameÚ
authorNameÚ	thumbnailÚtitleÚEMBEDÚ	IMMUTABLE)
r   Ú	get_embedÚtyper	   Úprovider_nameÚauthor_nameÚthumbnail_urlr   r   r   )ÚselfÚnameÚattrsÚstateÚcontentstateÚ	embed_objÚ
embed_datar   r   r   Úcreate_entity#   s   
úÿz&MediaEmbedElementHandler.create_entityN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   r   r   r   r   r      s    r   zembed[embedtype="media"]Úentity_decoratorsr   )Úfrom_database_formatÚto_database_formatN)r)   Údraftjs_exporter.domr   Ú6wagtail.admin.rich_text.converters.contentstate_modelsr   Ú7wagtail.admin.rich_text.converters.html_to_contentstater   Úwagtail.embedsr   Úwagtail.embeds.exceptionsr   r   r   ÚContentstateMediaConversionRuler   r   r   r   Ú<module>   s    ÿ

ü