a
    Dg>                     @   sD   d dl mZ d dlmZ d dlmZ d dlmZ G dd deZdS )    )Model)escapePage)LinkHandlerc                   @   st   e Zd ZdZedd Zeee ee	 dddZ
eeeddd	Zeee ee dd
dZedd ZdS )PageLinkHandlerpagec                   C   s   t S )Nr    r	   r	   V/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/rich_text/pages.py	get_model   s    zPageLinkHandler.get_model)
attrs_listreturnc                    sD   dd |D }t jj|d  }dd |D   fdd|D S )Nc                 S   s   g | ]}| d qS )id)get).0attrsr	   r	   r
   
<listcomp>       z,PageLinkHandler.get_many.<locals>.<listcomp>)Zid__inc                 S   s   i | ]}t |j|qS r	   )strr   r   r   r	   r	   r
   
<dictcomp>   r   z,PageLinkHandler.get_many.<locals>.<dictcomp>c                    s   g | ]}  t|qS r	   )r   r   )r   Zid_Zpages_by_str_idr	   r
   r      r   )r   ZobjectsfilterZdefer_streamfieldsZspecific)clsr   Zinstance_idsqsr	   r   r
   get_many   s    zPageLinkHandler.get_many)r   r   c                 C   s   |  |gd S )Nr   )expand_db_attributes_many)r   r   r	   r	   r
   expand_db_attributes   s    z$PageLinkHandler.expand_db_attributesc                 C   s   dd |  |D S )Nc                 S   s$   g | ]}|rd t |jj ndqS )z<a href="%s">z<a>)r   Z	localizedurlr   r	   r	   r
   r      s   z=PageLinkHandler.expand_db_attributes_many.<locals>.<listcomp>)r   )r   r   r	   r	   r
   r      s    z)PageLinkHandler.expand_db_attributes_manyc                 c   s   t |d ddfV  d S )Nr    r   )selfr   r	   r	   r
   extract_references#   s    z"PageLinkHandler.extract_referencesN)__name__
__module____qualname__
identifierstaticmethodr   classmethodlistdictr   r   r   r   r   r!   r	   r	   r	   r
   r      s   
r   N)	Zdjango.db.modelsr   Zdjango.utils.htmlr   Zwagtail.modelsr   Zwagtail.rich_textr   r   r	   r	   r	   r
   <module>   s   