o
    .dI                     @  sp   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lm
Z
 er.dd	lmZ G d
d de	ZdS )z;A template loader that delegates to other template loaders.    )annotations)TYPE_CHECKING)List)TemplateNotFound   )
BaseLoader)TemplateSource)Environmentc                      s6   e Zd ZdZd fddZdddZdddZ  ZS )ChoiceLoaderzA template loader that will try each of a list of loaders in turn.

    Args:
        loaders: A list of loaders implementing `liquid.loaders.BaseLoader`.
    loadersList[BaseLoader]c                   s   t    || _d S N)super__init__r   )selfr   	__class__ \/var/www/Matress/matenv/lib/python3.10/site-packages/liquid/builtin/loaders/choice_loader.pyr      s   

zChoiceLoader.__init__envr	   template_namestrreturnr   c              	   C  s8   | j D ]}z	|||W   S  ty   Y qw t|r   )r   
get_sourcer   r   r   r   loaderr   r   r   r      s   
zChoiceLoader.get_sourcec              	     s@   | j D ]}z|||I d H W   S  ty   Y qw t|r   )r   get_source_asyncr   r   r   r   r   r   &   s   
zChoiceLoader.get_source_async)r   r   )r   r	   r   r   r   r   )__name__
__module____qualname____doc__r   r   r   __classcell__r   r   r   r   r
      s
    
r
   N)r    
__future__r   typingr   r   liquid.exceptionsr   base_loaderr   r   liquidr	   r
   r   r   r   r   <module>   s    