o
    wi}                     @  s   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
 ddlmZ ddlmZ ddlmZ e	rPdd	lmZ 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d ZdS )z&W&B Public API for Automation objects.    )annotations)IteratorMapping)chain)TYPE_CHECKINGAny)ValidationError)override)RelayPaginator)Document
Connection)RetryingClient
AutomationProjectTriggersFieldsc                      sf   e Zd ZU dZded< ded< 	dd fddZedddZedddZed fddZ	  Z
S ) AutomationszZA lazy iterator of `Automation` objects.

    <!-- lazydoc-ignore-class: internal -->
    r   QUERYz(Connection[ProjectTriggersFields] | Nonelast_response2   clientr   	variablesMapping[str, Any]per_pageint_queryc                  s   || _ t j|||d d S )N)r   r   )r   super__init__)selfr   r   r   r   	__class__ Q/home/ubuntu/.local/lib/python3.10/site-packages/wandb/apis/public/automations.pyr       s   zAutomations.__init__returnNonec              
   C  s|   ddl m} ddlm} | jj| j| jd}z|d d }|| |}|| _	W dS  t
ttfy= } ztd|d}~ww )	z1Fetch the raw response data for the current page.r   r   r   )variable_valuesscopeprojectszUnexpected response dataN)wandb._pydanticr   wandb.automations._generatedr   r   executer   r   model_validater   LookupErrorAttributeErrorr   
ValueError)r   r   r   data	conn_dataconner"   r"   r#   _update_response+   s   
zAutomations._update_responsenoder   Iterator[Automation]c                   s    ddl m   fdd|jD S )Nr   r   c                 3  s    | ]}  |V  qd S N)r,   ).0objr   r"   r#   	<genexpr>=   s    z'Automations._convert.<locals>.<genexpr>)wandb.automationsr   triggers)r   r5   r"   r   r#   _convert9   s   zAutomations._convertc                   s   t t  S r7   )r   from_iterabler   convert_objects)r   r    r"   r#   r?   ?   s   zAutomations.convert_objects)r   )r   r   r   r   r   r   r   r   )r$   r%   )r5   r   r$   r6   )r$   r6   )__name__
__module____qualname____doc____annotations__r   r	   r4   r=   r?   __classcell__r"   r"   r    r#   r      s   
 r   )r   r   N)rC   
__future__r   collections.abcr   r   	itertoolsr   typingr   r   pydanticr   typing_extensionsr	   wandb.apis.paginatorr
   wandb_graphql.language.astr   r)   r   wandb.apis.public.apir   r;   r   r*   r   r   r"   r"   r"   r#   <module>   s    