
    CCf                        d dl mZ d dlZd dlZej                  dk\  rd 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	      Z G d
 de      Zy)    )annotationsN)   
   )	ParamSpec)is_async_callable)run_in_threadpoolPc                  ,    e Zd Z	 	 	 	 	 	 	 	 ddZddZy)BackgroundTaskc                N    || _         || _        || _        t        |      | _        y N)funcargskwargsr   is_async)selfr   r   r   s       T/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/starlette/background.py__init__zBackgroundTask.__init__   s%     		)$/    c                   K   | j                   r/ | j                  | j                  i | j                   d {    y t	        | j                  g| j                  i | j                   d {    y 7 ;7 wr   )r   r   r   r   r   )r   s    r   __call__zBackgroundTask.__call__   s[     ==$))TYY6$++666#DIII		IT[[III 7Is!   6A8A45A8.A6/A86A8Nr   ztyping.Callable[P, typing.Any]r   zP.argsr   zP.kwargsreturnNoner   r   )__name__
__module____qualname__r   r    r   r   r   r      s-    020;A0MU0	0Jr   r   c                  6    e Zd ZdddZ	 	 	 	 	 	 	 	 ddZddZy)	BackgroundTasksNc                8    |rt        |      | _        y g | _        y r   )listtasks)r   r$   s     r   r   zBackgroundTasks.__init__"   s    $)T%[
r
r   c                X    t        |g|i |}| j                  j                  |       y r   )r   r$   append)r   r   r   r   tasks        r   add_taskzBackgroundTasks.add_task%   s*     d4T4V4

$r   c                P   K   | j                   D ]  } |        d {     y 7 wr   )r$   )r   r'   s     r   r   zBackgroundTasks.__call__+   s%     JJ 	D&LL	s   &$&r   )r$   z&typing.Sequence[BackgroundTask] | Noner   r   )r   r   r   r   r(   r   r   r   r   r!   r!   !   s1    2 2 ;A MU 	 r   r!   )
__future__r   systypingversion_infor   typing_extensionsstarlette._utilsr   starlette.concurrencyr   r	   r   r!   r   r   r   <module>r1      sI    " 
 w + . 3cNJ J n r   