OwlCyberSecurity - MANAGER
Edit File: locale.cpython-39.pyc
a ���er � @ sl d dl mZ d dlmZ d dlmZ d dlmZmZ d dl m Z d dlmZ d dl mZ G dd � d e�Zd S )� )�settings)� is_language_prefix_patterns_used)�HttpResponseRedirect)�get_script_prefix� is_valid_path)�translation)�patch_vary_headers)�MiddlewareMixinc @ s$ e Zd ZdZeZdd� Zdd� ZdS )�LocaleMiddlewarez� Parse a request and decide what translation object to install in the current thread context. This allows pages to be dynamically translated to the language the user desires (if the language is available). c C s^ t |dtj�}t|�\}}tj||d�}t�|j�}|sF|rF|sFtj}t� |� t� � |_d S )N�urlconf)� check_path)�getattrr �ROOT_URLCONFr r Zget_language_from_request�get_language_from_path� path_infoZ LANGUAGE_CODE�activate�get_language)�self�requestr �i18n_patterns_used�prefixed_default_language�language�language_from_path� r �Y/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/django/middleware/locale.py�process_request s$ ����� z LocaleMiddleware.process_requestc C s� t �� }t �|j�}t|dtj�}t|�\}}|jdkr�|s�|r�|r�d||jf }t ||�} | o�tj o�|�d� o�t d| |�} | s�| r�t� }|j | d��|d||f d�}| �|�} t| d � | S |r�|s�t|d � |j�d|� |S )Nr i� z/%s%s�/z%s/)Zforce_append_slashz%s%s/� )�Accept-Language�Cookie)r zContent-Language)r r r r r r r r �status_coder ZAPPEND_SLASH�endswithr Z get_full_path�replace�response_redirect_classr �headers� setdefault)r r �responser r r r r Z language_pathZ path_validZpath_needs_slashZ script_prefixZlanguage_url�redirectr r r �process_response&