
    9Cg                        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n# e$ r dZY nw xY w G d
 de          Z G d d          ZdS )    )annotationsN)PathLike)BackgroundTask)URL)Request)HTMLResponse)ReceiveScopeSendpass_contextc                  6     e Zd Z	 	 	 	 dd fdZd fdZ xZS )_TemplateResponse   Ntemplate
typing.Anycontextdict[str, typing.Any]status_codeintheaderstyping.Mapping[str, str] | None
media_type
str | None
backgroundBackgroundTask | Nonec                    || _         || _        |                    |          }t                                          |||||           d S N)r   r   rendersuper__init__)	selfr   r   r   r   r   r   content	__class__s	           F/var/www/api/venv/lib/python3.11/site-packages/starlette/templating.pyr    z_TemplateResponse.__init__   sJ     !//'**+w
JOOOOO    scoper
   receiver	   sendr   returnNonec                
  K   | j                             di           }|                    di           }d|v r! |d| j        | j         dd           d {V  t                                          |||           d {V  d S )Nrequest
extensionszhttp.response.debug)r   r   )typeinfo)r   getr   r   __call__)r!   r&   r'   r(   r,   r-   r#   s         r$   r1   z_TemplateResponse.__call__+   s      ,""9b11[[r22
 J..$1$(M#'<           ggugt44444444444r%   )r   NNN)r   r   r   r   r   r   r   r   r   r   r   r   )r&   r
   r'   r	   r(   r   r)   r*   )__name__
__module____qualname__r    r1   __classcell__)r#   s   @r$   r   r      su        
 37!%,0P P P P P P P5 5 5 5 5 5 5 5 5 5r%   r   c                      e Zd ZdZej        ddd-d            Zej        ddd.d            Z	 d/dddd0dZd1dZd2dZd3dZ	ej        	 	 	 	 	 d4d5d(            Z
ej        	 	 	 	 	 d4d6d)            Z
d7d,Z
dS )8Jinja2Templatesz}
    templates = Jinja2Templates("templates")

    return templates.TemplateResponse("index.html", {"request": request})
    N)context_processors	directory:str | PathLike[str] | typing.Sequence[str | PathLike[str]]r8   >list[typing.Callable[[Request], dict[str, typing.Any]]] | Noneenv_optionsr   r)   r*   c                   d S r    )r!   r9   r8   r<   s       r$   r    zJinja2Templates.__init__B   s	     sr%   envjinja2.Environmentc                   d S r   r>   )r!   r?   r8   s      r$   r    zJinja2Templates.__init__K   s	     sr%   )r8   r?   Astr | PathLike[str] | typing.Sequence[str | PathLike[str]] | Nonejinja2.Environment | Nonec               6   |rt          j        dt                     t          
J d            t	          |          t	          |          z  s
J d            |pg | _        | | j        |fi || _        n	||| _        |                     | j                   d S )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!   r9   r8   r?   r<   s        r$   r    zJinja2Templates.__init__S   s      	Mk"   !!#T!!!Ic*bb,bbbb"4": 't'	AA[AADHH_DH  *****r%   c                    t          j        |          }|                    d|           |                    dd           t          j        di |S )Nloader
autoescapeTr>   )rH   FileSystemLoader
setdefaultEnvironment)r!   r9   r<   rM   s       r$   rJ   zJinja2Templates._create_envj   sW    
 (33x000|T222!00K000r%   c                ^    t           dd	            }|j                            d
|           d S )Nr   r   namestrpath_paramsr   r)   r   c               .    | d         } |j         |fi |S )Nr,   )url_for)r   rS   rU   r,   s       r$   rW   z4Jinja2Templates._setup_env_defaults.<locals>.url_forv   s(      'y1G"7?477;777r%   rW   )r   r   rS   rT   rU   r   r)   r   )r   globalsrP   )r!   r?   rW   s      r$   rK   z#Jinja2Templates._setup_env_defaultsu   s@    		8 	8 	8 
	8 	y'22222r%   rS   rT   jinja2.Templatec                6    | j                             |          S r   )r?   get_template)r!   rS   s     r$   r[   zJinja2Templates.get_template   s    x$$T***r%   r   r,   r   r   dict[str, typing.Any] | Noner   r   r   r   r   r   r   r   r   c                    d S r   r>   )r!   r,   rS   r   r   r   r   r   s           r$   TemplateResponsez Jinja2Templates.TemplateResponse   s	      Cr%   c                    d S r   r>   )r!   rS   r   r   r   r   r   s          r$   r^   z Jinja2Templates.TemplateResponse   s	     	r%   argskwargsc                   |rkt          |d         t                    r1t          j        dt                     |d         }t          |          dk    r|d         n|                    di           }t          |          dk    r|d         n|                    dd          }t          |          dk    r|d         n|                    d          }t          |          d	k    r|d	         n|                    d
          }t          |          dk    r|d         n|                    d          }d|vrt          d          |d         }	n|d         }	t          |          dk    r|d         n|d         }t          |          dk    r|d         n|                    di           }t          |          d	k    r|d	         n|                    dd          }t          |          dk    r|d         n|                    d          }t          |          dk    r|d         n|                    d
          }t          |          dk    r|d         n|                    d          }nd|vrAt          j        dt                     d|                    di           vrt          d          |                    di           }|                    d|                    d                    }	t          j	        t          |d                   }|                    dd          }|                    d          }|                    d
          }|                    d          }|
                    d|	           | j        D ] }
|                     |
|	                     !|                     |          }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" keyrS         zThe `TemplateResponse` now requires the `request` argument.
Replace `TemplateResponse(name, {"context": context})` by `TemplateResponse(request, name)`.)r   r   r   r   )
isinstancerT   rE   rF   rG   lenr0   
ValueErrortypingcastrP   r8   updater[   r   )r!   r`   ra   rS   r   r   r   r   r   r,   context_processorr   s               r$   r^   z Jinja2Templates.TemplateResponse   s    +	2$q'3'' Ts '	   Aw%(YY]]$q''

9b8Q8Q),TQd1ggFJJ}VY<Z<Z%(YY]]$q''

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

9b8Q8Q),TQd1ggFJJ}VY<Z<Z%(YY]]$q''

98M8M(+D		AT!WW6::l;S;S
(+D		AT!WW6::l;S;S

&&s&  
 FJJy"$=$===$%KLLLjjB//GjjGKK	,B,BCCG;sF6N33D **]C88Kjj++GL11JL11J9g...!%!8 	7 	7NN,,W556666$$T** #!!
 
 
 	
r%   )r9   r:   r8   r;   r<   r   r)   r*   )r?   r@   r8   r;   r)   r*   r   )
r9   rB   r8   r;   r?   rC   r<   r   r)   r*   )r9   r:   r<   r   r)   r@   )r?   r@   r)   r*   )rS   rT   r)   rY   )Nr   NNN)r,   r   rS   rT   r   r\   r   r   r   r   r   r   r   r   r)   r   )rS   rT   r   r\   r   r   r   r   r   r   r   r   r)   r   )r`   r   ra   r   r)   r   )r2   r3   r4   __doc__rl   overloadr    rJ   rK   r[   r^   r>   r%   r$   r7   r7   ;   sx         _
 ^b	     _ _
 ^b	     _ X\+ ^b)-+ + + + + +.	1 	1 	1 	13 3 3 3+ + + + _
 1537!%,0	  	  	  	  _	  _ 1537!%,0
 
 
 
 _
:
 :
 :
 :
 :
 :
r%   r7   )
__future__r   rl   rE   osr   starlette.backgroundr   starlette.datastructuresr   starlette.requestsr   starlette.responsesr   starlette.typesr	   r
   r   rH   hasattrr   contextfunctionModuleNotFoundErrorr   r7   r>   r%   r$   <module>r|      sb   " " " " " "         / / / / / / ( ( ( ( ( ( & & & & & & , , , , , , 0 0 0 0 0 0 0 0 0 0MMM wv~&& .*-   FFF5 5 5 5 5 5 5 5>]
 ]
 ]
 ]
 ]
 ]
 ]
 ]
 ]
 ]
s   A A"!A"