o
    h                     @   s^   d 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d
idd
eiidZ	dS )z$
Draftail / contentstate conversion
    )DOM)LinkElementHandler)get_document_modelc                 C   s   t dd| dd| d S )z
    Helper to construct elements of the form
    <a id="1" linktype="document">document link</a>
    when converting from contentstate data
    adocumentid)linktyper   children)r   create_elementget)props r   h/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/documents/rich_text/contentstate.pydocument_link_entity
   s   r   c                   @   s   e Zd ZdZdd ZdS )DocumentLinkElementHandlerz
    Rule for populating the attributes of a document link when converting from database representation
    to contentstate
    c              	   C   st   t  }zt|d }W n ttfy   i  Y S w z	|jj|d}W n |jy0   d|i Y S w |j|j|j	dS )Nr   )r   )r   urlfilename)
r   intKeyError
ValueErrorobjectsr   DoesNotExistr   r   r   )selfattrsDocumentr   docr   r   r   get_attribute_data!   s   z-DocumentLinkElementHandler.get_attribute_dataN)__name__
__module____qualname____doc__r   r   r   r   r   r      s    r   za[linktype="document"]DOCUMENTentity_decorators)from_database_formatto_database_formatN)
r    draftjs_exporter.domr   7wagtail.admin.rich_text.converters.html_to_contentstater   wagtail.documentsr   r   r   &ContentstateDocumentLinkConversionRuler   r   r   r   <module>   s    

