o
    þÞh°	  ã                   @   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 )NÚNOTPROVIDEDr   )Útoken©Úrequest© úb/var/www/html/premium_crap/venv/lib/python3.10/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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.
    Ú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>Úsql_queries)	r   ÚDEBUGÚMETAÚgetÚINTERNAL_IPSÚ	django.dbr   r   r   )r
   Úcontext_extrasr   r   r   r   $   s   
úr   c                 C   s"   ddl m} tj| ¡ | ¡ dœS )Nr   )Útranslation)Ú	LANGUAGESÚLANGUAGE_CODEÚ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   ó
   dt jiS )z>
    Add static-related context variables to the context.
    Ú
STATIC_URL)r   r1   r	   r   r   r   ÚstaticJ   ó   
r2   c                 C   r0   )z=
    Add media-related context variables to the context.
    Ú	MEDIA_URL)r   r4   r	   r   r   r   ÚmediaQ   r3   r5   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/   r2   r5   r
   r   r   r   r   Ú<module>   s    	
