o
    _gT                     @   s`   d dl mZ d dlmZ ddlmZmZmZ G dd deZG dd deZ	G d	d
 d
eZ
dS )    )Promise)
DataLoader   )NewsTranslateCategoryTranslateKeywordc                   @      e Zd Zdd ZdS )
NewsLoaderc                    s6   t jddddj|d t fdd|D S )Nnewslanguagecategorykeywordsid__inc                    $   g | ] t  fd dD dqS )c                 3       | ]
}|j  kr|V  qd S Nid).0nkey 1/var/www/Entralon-Web-Backend/blog/dataloaders.py	<genexpr>       z6NewsLoader.batch_load_fn.<locals>.<listcomp>.<genexpr>Nnextr   r
   r   r   
<listcomp>       z,NewsLoader.batch_load_fn.<locals>.<listcomp>)r   objectsselect_relatedprefetch_relatedfilterr   resolveselfkeysr   r    r   batch_load_fn   s   zNewsLoader.batch_load_fnN__name__
__module____qualname__r+   r   r   r   r   r	          r	   c                   @   r   )CategoryLoaderc                    s,   t jdj|d t fdd|D S )Nr   r   c                    r   )c                 3   r   r   r   )r   cr   r   r   r      r   z:CategoryLoader.batch_load_fn.<locals>.<listcomp>.<genexpr>Nr   r   
categoriesr   r   r!      r"   z0CategoryLoader.batch_load_fn.<locals>.<listcomp>)r   r#   r$   r&   r   r'   r(   r   r3   r   r+      s   zCategoryLoader.batch_load_fnNr,   r   r   r   r   r1      r0   r1   c                   @   r   )KeywordLoaderc                    s&   t jj|d t fdd|D S )Nr   c                    r   )c                 3   r   r   r   )r   kr   r   r   r   !   r   z9KeywordLoader.batch_load_fn.<locals>.<listcomp>.<genexpr>Nr   r   r   r   r   r!       r"   z/KeywordLoader.batch_load_fn.<locals>.<listcomp>)r   r#   r&   r   r'   r(   r   r7   r   r+      s   zKeywordLoader.batch_load_fnNr,   r   r   r   r   r5      r0   r5   N)promiser   promise.dataloaderr   modelsr   r   r   r	   r1   r5   r   r   r   r   <module>   s    
