
    ,h                        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       V/var/www/html/Resume-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Jr   r   c                  &    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!      s    2 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   