
    hr                     r    S SK Jr  S SKJr  S SKJr  S SKJrJr  S SK	J
r
  S SKJr  S SKJr   " S S	\5      rg
)    )settings) is_language_prefix_patterns_used)HttpResponseRedirect)get_script_prefixis_valid_path)translation)patch_vary_headers)MiddlewareMixinc                   (    \ rS rSrSr\rS rS rSr	g)LocaleMiddleware
   z
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                 h   [        US[        R                  5      n[        U5      u  nn[        R
                  " XS9n[        R                  " UR                  5      nU(       d  U(       a  U(       d  [        R                  n[        R                  " U5        [        R                  " 5       Ul        g )Nurlconf)
check_path)getattrr   ROOT_URLCONFr   r   get_language_from_requestget_language_from_path	path_infoLANGUAGE_CODEactivateget_language)selfrequestr   i18n_patterns_usedprefixed_default_languagelanguagelanguage_from_paths          J/var/www/html/env/lib/python3.13/site-packages/django/middleware/locale.pyprocess_request LocaleMiddleware.process_request   s    '9h.C.CD -W5	
%88
 )??@Q@QR""---HX& + 8 8 :    c                    [         R                  " 5       n[         R                  " UR                  5      n[	        US[
        R                  5      n[        U5      u  nnUR                  S:X  a  U(       d  U(       a  U(       a  SU< UR                  < 3n[        X5      n	U	(       + =(       aC    [
        R                  =(       a,    UR                  S5      (       + =(       a    [        SU-  U5      n
U	(       d  U
(       aO  [        5       nUR                  U
S9R                  X< U< S3S5      nU R                  U5      n[!        US5        U$ U(       a  U(       d  [!        US5        UR"                  R%                  S	U5        U$ )
Nr   i  /z%s/)force_append_slash   )Accept-LanguageCookie)r'   zContent-Language)r   r   r   r   r   r   r   r   status_coder   APPEND_SLASHendswithr   get_full_pathreplaceresponse_redirect_classr	   headers
setdefault)r   r   responser   r   r   r   r   language_path
path_validpath_needs_slashscript_prefixlanguage_urlredirects                 r   process_response!LocaleMiddleware.process_response&   sX   ++-(??@Q@QR'9h.C.CD -W5	
%   C'&") (01B1BCM&}>J#-~  %% B%..s33B!%-"7A  - 1 3  '44'7  5  '-M8)LaP   77E"8-JK"'9x)=>##$6Ar"    N)
__name__
__module____qualname____firstlineno____doc__r   r.   r    r8   __static_attributes__r:   r"   r   r   r   
   s     3;&*r"   r   N)django.confr   django.conf.urls.i18nr   django.httpr   django.urlsr   r   django.utilsr   django.utils.cacher	   django.utils.deprecationr
   r   r:   r"   r   <module>rH      s(      B , 8 $ 1 4F Fr"   