a
    ^ŠÝgé  ã                   @  s‚   d dl mZ d dlZd dlZejdkr4d dlmZ nd dlmZ d dlmZ d dl	m
Z
 edƒZG dd	„ d	ƒZG d
d„ deƒZdS )é    )ÚannotationsN)é   é
   )Ú	ParamSpec)Úis_async_callable)Úrun_in_threadpoolÚPc                   @  s.   e Zd Zdddddœdd„Zddœd	d
„ZdS )ÚBackgroundTaskútyping.Callable[P, typing.Any]úP.argsúP.kwargsÚNone©ÚfuncÚargsÚkwargsÚreturnc                 O  s    || _ || _|| _t|ƒ| _d S ©N)r   r   r   r   Úis_async)Úselfr   r   r   © r   úb/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/starlette/background.pyÚ__init__   s    zBackgroundTask.__init__©r   c                 Ã  sH   | j r"| j| ji | j¤ŽI d H  n"t| jg| j¢R i | j¤ŽI d H  d S r   )r   r   r   r   r   )r   r   r   r   Ú__call__   s    zBackgroundTask.__call__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r	      s   r	   c                   @  s>   e Zd Zdddœdd„Zdddd	d
œdd„Zd	dœdd„ZdS )ÚBackgroundTasksNz&typing.Sequence[BackgroundTask] | None©Útasksc                 C  s   |rt |ƒng | _d S r   )Úlistr    )r   r    r   r   r   r       s    zBackgroundTasks.__init__r
   r   r   r   r   c                 O  s&   t |g|¢R i |¤Ž}| j |¡ d S r   )r	   r    Úappend)r   r   r   r   Útaskr   r   r   Úadd_task#   s    zBackgroundTasks.add_taskr   c                 Ã  s   | j D ]}|ƒ I d H  qd S r   r   )r   r#   r   r   r   r   '   s    
zBackgroundTasks.__call__)N)r   r   r   r   r$   r   r   r   r   r   r      s   r   )Ú
__future__r   ÚsysÚtypingÚversion_infor   Ztyping_extensionsZstarlette._utilsr   Zstarlette.concurrencyr   r   r	   r   r   r   r   r   Ú<module>   s   
