U
    {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
    aZdocumentid)linktyper   children)r   Zcreate_elementget)props r   p/var/www/dating/data/www/fatepal.com/env/lib/python3.8/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   sx   t  }zt|d }W n ttfk
r2   i  Y S X z|jj|d}W n |jk
rd   d|i Y S X |j|j|j	dS )Nr   )r   )r   urlfilename)
r   intKeyError
ValueErrorobjectsr	   ZDoesNotExistr   r   r   )selfattrsZ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"]ZDOCUMENTZentity_decorators)Zfrom_database_formatZto_database_formatN)
r   Zdraftjs_exporter.domr   Z7wagtail.admin.rich_text.converters.html_to_contentstater   Zwagtail.documentsr   r   r   Z&ContentstateDocumentLinkConversionRuler   r   r   r   <module>   s    
