
    ]j                     t    d dl Z d dlmZ d dlmZ d dlmZ d dlmZ ddl	m
Z
  G d d	e      Z G d
 de      Zy)    N)settings)redirect)MiddlewareMixin)serve   )Redirectc                   T    e Zd ZdZ ej
                  dej                  z        Zd Z	y)StaticServezM
    Django middleware for serving static files instead of using urls.py
    z^%s(?P<path>.*)$c                     t         j                  rR| j                  j                  |j                        }|r*t        ||j                  d      t         j                        S y y )Nr   )r   DEBUGregexsearchpathr   group
MEDIA_ROOT)selfrequestmatchs      >/root/env/lib/python3.12/site-packages/annoying/middlewares.pyprocess_requestzStaticServe.process_request   sK    >>JJ%%gll3EWekk!nh6I6IJJ      N)
__name__
__module____qualname____doc__recompiler   	MEDIA_URLr   r    r   r   r
   r
      s+     BJJ*X-?-??@EKr   r
   c                       e Zd ZdZd Zy)RedirectMiddlewarez
    You must add this middleware to MIDDLEWARE_CLASSES list,
    to make work Redirect exception. All arguments passed to
    Redirect will be passed to django built in redirect function.
    c                 b    t        |t              sy t        |j                  i |j                  S )N)
isinstancer   r   argskwargs)r   r   	exceptions      r   process_exceptionz$RedirectMiddleware.process_exception   s)    )X.<9+;+;<<r   N)r   r   r   r   r'   r   r   r   r!   r!      s    
=r   r!   )r   django.confr   django.shortcutsr   django.utils.deprecationr   django.views.staticr   
exceptionsr   r
   r!   r   r   r   <module>r-      s1    	   % 4 %  
K/ 
K	= 	=r   