
    ,h                        d dl mZ d dlZd dl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mZmZ 	 d dlZ eed	      rej(                  Znej*                  Z G d
 de      Z G d d      Zy# e$ r dZY w xY w)    )annotationsN)PathLike)BackgroundTask)URL)Request)HTMLResponse)ReceiveScopeSendpass_contextc                  L     e Zd Z	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 d fdZd fdZ xZS )_TemplateResponsec                j    || _         || _        |j                  |      }t        |   |||||       y N)templatecontextrendersuper__init__)	selfr   r   status_codeheaders
media_type
backgroundcontent	__class__s	           V/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/starlette/templating.pyr   z_TemplateResponse.__init__   s6     !//'*+w
JO    c                   K   | j                   j                  di       }|j                  di       }d|v r* |d| j                  | j                   dd       d {    t        |   |||       d {    y 7 7 w)Nrequest
extensionszhttp.response.debug)r   r   )typeinfo)r   getr   r   __call__)r   scopereceivesendr    r!   r   s         r   r%   z_TemplateResponse.__call__+   s     ,,""9b1[[r2
 J.1$(MM#'<<   gugt444 	5s$   AA>A:A>4A<5A><A>)   NNN)r   
typing.Anyr   dict[str, typing.Any]r   intr   typing.Mapping[str, str] | Noner   
str | Noner   BackgroundTask | None)r&   r
   r'   r	   r(   r   returnNone)__name__
__module____qualname__r   r%   __classcell__)r   s   @r   r   r      sa    
 37!%,0PP 'P 	P
 1P P *P5 5r   r   c                  n   e Zd ZdZej
                  dd	 	 	 	 	 	 	 dd       Zej
                  dd	 	 	 	 	 dd       Z	 dddd	 	 	 	 	 	 	 	 	 ddZ	 	 	 	 	 	 ddZdd	Zdd
Z	ej
                  	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Z
ej
                  	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd       Z
ddZ
y)Jinja2Templatesz}
    templates = Jinja2Templates("templates")

    return templates.TemplateResponse("index.html", {"request": request})
    N)context_processorsc                    y r    )r   	directoryr8   env_optionss       r   r   zJinja2Templates.__init__B   s     r   c                    y r   r:   )r   envr8   s      r   r   zJinja2Templates.__init__K   s     r   )r8   r>   c               &   |rt        j                  dt               t        J d       t	        |      t	        |      z  sJ d       |xs g | _        | | j                  |fi || _        n	||| _        | j                  | j                         y )NzYExtra environment options are deprecated. Use a preconfigured jinja2.Environment instead.z/jinja2 must be installed to use Jinja2Templatesz4either 'directory' or 'env' arguments must be passed)	warningswarnDeprecationWarningjinja2boolr8   _create_envr>   _setup_env_defaults)r   r;   r8   r>   r<   s        r   r   zJinja2Templates.__init__S   s     MMk" !T#TTIc*b,bb"4": 't''	A[ADH_DH  *r   c                    t        j                  |      }|j                  d|       |j                  dd       t        j                  di |S )Nloader
autoescapeTr:   )rC   FileSystemLoader
setdefaultEnvironment)r   r;   r<   rH   s       r   rE   zJinja2Templates._create_envj   sH    
 ((3x0|T2!!0K00r   c                f    t         	 	 	 	 	 	 	 	 dd       }|j                  j                  d|       y )Nc               2    | d   } |j                   |fi |S )Nr    )url_for)r   namepath_paramsr    s       r   rO   z4Jinja2Templates._setup_env_defaults.<locals>.url_forv   s$      'y1G"7??47;77r   rO   )r   r+   rP   strrQ   r*   r0   r   )r   globalsrK   )r   r>   rO   s      r   rF   z#Jinja2Templates._setup_env_defaultsu   sN    		8*	8	8 &		8
 	8 
	8 	y'2r   c                8    | j                   j                  |      S r   )r>   get_template)r   rP   s     r   rU   zJinja2Templates.get_template   s    xx$$T**r   c                     y r   r:   )r   r    rP   r   r   r   r   r   s           r   TemplateResponsez Jinja2Templates.TemplateResponse   s      r   c                     y r   r:   )r   rP   r   r   r   r   r   s          r   rW   z Jinja2Templates.TemplateResponse   s     	r   c                   |rt        |d   t              rt        j                  dt               |d   }t        |      dkD  r|d   n|j                  di       }t        |      dkD  r|d   n|j                  dd      }t        |      dkD  r|d   n|j                  d	      }t        |      d
kD  r|d
   n|j                  d      }t        |      dkD  r|d   n|j                  d      }d|vrt        d      |d   }	n|d   }	t        |      dkD  r|d   n|d   }t        |      dkD  r|d   n|j                  di       }t        |      dkD  r|d   n|j                  dd      }t        |      d
kD  r|d
   n|j                  d	      }t        |      dkD  r|d   n|j                  d      }t        |      dkD  r|d   n|j                  d      }nd|vr9t        j                  dt               d|j                  di       vrt        d      |j                  di       }|j                  d|j                  d            }	t        j                  t        |d         }|j                  dd      }|j                  d	      }|j                  d      }|j                  d      }|j                  d|	       | j                  D ]  }
|j                   |
|	              | j                  |      }t        ||||||      S )Nr   zThe `name` is not the first parameter anymore. The first parameter should be the `Request` instance.
Replace `TemplateResponse(name, {"request": request})` by `TemplateResponse(request, name)`.   r      r   r)      r      r      r   r    z$context must include a "request" keyrP      zThe `TemplateResponse` now requires the `request` argument.
Replace `TemplateResponse(name, {"context": context})` by `TemplateResponse(request, name)`.)r   r   r   r   )
isinstancerR   r@   rA   rB   lenr$   
ValueErrortypingcastrK   r8   updaterU   r   )r   argskwargsrP   r   r   r   r   r   r    context_processorr   s               r   rW   z Jinja2Templates.TemplateResponse   s   $q'3's '	 Aw%(Y]$q'

9b8Q),TQd1gFJJ}VY<Z%(Y]$q'

98M(+D	AT!W6::l;S
(+D	AT!W6::l;S
G+$%KLL!),q'"%d)a-tAwVF^%(Y]$q'

9b8Q),TQd1gFJJ}VY<Z%(Y]$q'

98M(+D	AT!W6::l;S
(+D	AT!W6::l;S
&s&
 FJJy"$==$%KLLjjB/GjjGKK	,BCG;;sF6N3D **]C8Kjj+GL1JL1J9g.!%!8!8 	7NN,W56	7 $$T* #!!
 	
r   )r;   :str | PathLike[str] | typing.Sequence[str | PathLike[str]]r8   >list[typing.Callable[[Request], dict[str, typing.Any]]] | Noner<   r*   r0   r1   )r>   jinja2.Environmentr8   rj   r0   r1   r   )
r;   zAstr | PathLike[str] | typing.Sequence[str | PathLike[str]] | Noner8   rj   r>   zjinja2.Environment | Noner<   r*   r0   r1   )r;   ri   r<   r*   r0   rk   )r>   rk   r0   r1   )rP   rR   r0   zjinja2.Template)Nr)   NNN)r    r   rP   rR   r   dict[str, typing.Any] | Noner   r,   r   r-   r   r.   r   r/   r0   r   )rP   rR   r   rl   r   r,   r   r-   r   r.   r   r/   r0   r   )rf   r*   rg   r*   r0   r   )r2   r3   r4   __doc__rc   overloadr   rE   rF   rU   rW   r:   r   r   r7   r7   ;   s    __
 ^b	M [	
 " 
  __
 ^b	   [	
 
  X\+ ^b)-+T+ [	+
 '+ "+ 
+.	1M	1 "	1 
		13+ __
 1537!%,0	 	  	  .		 
 	  1	  	  *	  
	  	  __ 1537!%,0

 .
 	

 1
 
 *
 

 
:
r   r7   )
__future__r   rc   r@   osr   starlette.backgroundr   starlette.datastructuresr   starlette.requestsr   starlette.responsesr   starlette.typesr	   r
   r   rC   hasattrr   contextfunctionModuleNotFoundErrorr   r7   r:   r   r   <module>ry      s|    "    / ( & , 0 0 v~&**--
5 5>]
 ]
G  Fs   &A4 4A>=A>