o
    ×ŸŽi°	  ã                   @   sp   d Z ddlZddlmZ ddlmZ ddlmZmZ dd„ Z	dd	„ Z
d
d„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )aR  
A set of request processors that return dictionaries to be merged into a
template context. Each function takes the request object as its only parameter
and returns a dictionary to add to the context.

These are referenced from the 'context_processors' option of the configuration
of a DjangoTemplates backend and used by RequestContext.
é    N)Úsettings©Ú	get_token)ÚSimpleLazyObjectÚlazyc                    s   ‡ fdd„}dt |ƒiS )z 
    Context processor that provides a CSRF token, or the string 'NOTPROVIDED' if
    it has not been provided by either a view decorator or the middleware
    c                     s   t ˆ ƒ} | d u r
dS | S )NZNOTPROVIDEDr   )Útoken©Úrequest© úlC:\Users\psant\Downloads\Anu Raj Backend\school\venv\Lib\site-packages\django/template/context_processors.pyÚ_get_val   s   zcsrf.<locals>._get_valZ
csrf_tokenN)r   )r	   r   r
   r   r   Úcsrf   s   
r   c                    sJ   i }t jr#| j d¡t jv r#d|d< ddlm‰  t‡ fdd„tƒ|d< |S )
z9
    Return context variables helpful for debugging.
    ZREMOTE_ADDRTÚdebugr   ©Úconnectionsc                      s   t tj ‡ fdd„ˆ D ƒ¡ƒS )Nc                 3   s   � | ]}ˆ | j V  qd S )N)Zqueries)Ú.0Úxr   r
   r   Ú	<genexpr>1   s   € 

ÿz*debug.<locals>.<lambda>.<locals>.<genexpr>)ÚlistÚ	itertoolsÚchainÚfrom_iterabler
   r   r
   r   Ú<lambda>0   s
    ÿÿzdebug.<locals>.<lambda>Zsql_queriesN)	r   ÚDEBUGZMETAÚgetZINTERNAL_IPSZ	django.dbr   r   r   )r	   Zcontext_extrasr
   r   r   r   $   s   
úr   c                 C   s"   ddl m} tj| ¡ | ¡ dœS )Nr   )Útranslation)Ú	LANGUAGESZLANGUAGE_CODEZLANGUAGE_BIDI)Údjango.utilsr   r   r   Zget_languageZget_language_bidi)r	   r   r
   r
   r   Úi18n:   s
   ýr   c                 C   s   ddl m} d| ¡ iS )Nr   )ÚtimezoneZ	TIME_ZONE)r   r   Zget_current_timezone_name)r	   r   r
   r
   r   ÚtzD   s   r    c                 C   ó
   dt jiS )z>
    Add static-related context variables to the context.
    Ú
STATIC_URLN)r   r"   r   r
   r
   r   ÚstaticJ   ó   
r#   c                 C   r!   )z=
    Add media-related context variables to the context.
    Ú	MEDIA_URLN)r   r%   r   r
   r
   r   ÚmediaQ   r$   r&   c                 C   s   d| iS )Nr	   r
   r   r
   r
   r   r	   X   s   r	   )Ú__doc__r   Zdjango.confr   Zdjango.middleware.csrfr   Zdjango.utils.functionalr   r   r   r   r   r    r#   r&   r	   r
   r
   r
   r   Ú<module>   s    	
