U
    ü‚º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 )NZNOTPROVIDEDr   )Útoken©Úrequest© úF/tmp/pip-unpacked-wheel-lctamlir/django/template/context_processors.pyÚ_get_val   s    zcsrf.<locals>._get_valZ
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.
    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_queries)	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   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    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   	
