U
    M¼|e°	  ã                   @   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 krdS | S d S )NÚNOTPROVIDEDr   )Útoken©Úrequest© ú_/var/www/website-v5/atlas_env/lib/python3.8/site-packages/django/template/context_processors.pyÚ_get_val   s    zcsrf.<locals>._get_valÚ
csrf_token)r   )r
   r   r   r	   r   Úcsrf   s    
r   c                    sJ   i }t jrF| j d¡t jkrFd|d< ddlm‰  t‡ fdd„tƒ|d< |S )	z9
    Return context variables helpful for debugging.
    ÚREMOTE_ADDRTÚdebugr   ©Úconnectionsc                      s   t tj ‡ fdd„ˆ D ƒ¡ƒS )Nc                 3   s   | ]}ˆ | j V  qd S )N)Ú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_queries)	r   ÚDEBUGÚMETAÚgetÚINTERNAL_IPSÚ	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)Ú	LANGUAGESÚLANGUAGE_CODEZLANGUAGE_BIDI)Údjango.utilsr"   r   r#   Úget_languageÚget_language_bidi)r
   r"   r   r   r   Úi18n:   s
    ýr(   c                 C   s   ddl m} d| ¡ iS )Nr   )ÚtimezoneÚ	TIME_ZONE)r%   r)   Úget_current_timezone_name)r
   r)   r   r   r   ÚtzD   s    r,   c                 C   s
   dt jiS )z>
    Add static-related context variables to the context.
    Ú
STATIC_URL)r   r-   r	   r   r   r   ÚstaticJ   s    r.   c                 C   s
   dt jiS )z=
    Add media-related context variables to the context.
    Ú	MEDIA_URL)r   r/   r	   r   r   r   ÚmediaQ   s    r0   c                 C   s   d| iS )Nr
   r   r	   r   r   r   r
   X   s    r
   )Ú__doc__r   Údjango.confr   Údjango.middleware.csrfr   Údjango.utils.functionalr   r   r   r   r(   r,   r.   r0   r
   r   r   r   r   Ú<module>   s   	
