
    ]j\                         d dl Z d dlmZ d dlmZ d dlmZ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ed
        Zed        Zd Zed        Zy)    N)	AppConfig)settings)Warningregister)GZipMiddleware)import_string)gettext_lazyc                        e Zd ZdZ ed      Zy)DebugToolbarConfigdebug_toolbarzDebug ToolbarN)__name__
__module____qualname__name_verbose_name     </root/env/lib/python3.12/site-packages/debug_toolbar/apps.pyr   r      s    D_%Lr   r   c                    ddl m} g }d }g }t        j                  d      r|j	                  t        ddd             |S t        t        j                        D ]6  \  }}t        t        |      r|}t        ||      s&|j	                  |       8 |s|j	                  t        dd	d
             |S t        |      dk7  r|j	                  t        ddd             |S |%|d   |k  r|j	                  t        ddd             |S )Nr   )DebugToolbarMiddlewareMIDDLEWARE_CLASSESz>debug_toolbar is incompatible with MIDDLEWARE_CLASSES setting.z,Use MIDDLEWARE instead of MIDDLEWARE_CLASSESzdebug_toolbar.W004hintidzKdebug_toolbar.middleware.DebugToolbarMiddleware is missing from MIDDLEWARE.zBAdd debug_toolbar.middleware.DebugToolbarMiddleware to MIDDLEWARE.zdebug_toolbar.W001   zTdebug_toolbar.middleware.DebugToolbarMiddleware occurs multiple times in MIDDLEWARE.zMLoad debug_toolbar.middleware.DebugToolbarMiddleware only once in MIDDLEWARE.zdebug_toolbar.W002zrdebug_toolbar.middleware.DebugToolbarMiddleware occurs before django.middleware.gzip.GZipMiddleware in MIDDLEWARE.zrMove debug_toolbar.middleware.DebugToolbarMiddleware to after django.middleware.gzip.GZipMiddleware in MIDDLEWARE.zdebug_toolbar.W003)debug_toolbar.middlewarer   r   is_overriddenappendr   	enumerate
MIDDLEWAREis_middleware_classr   len)app_configskwargsr   errors
gzip_indexdebug_toolbar_indexesi
middlewares           r   check_middlewarer+      s6   ?FJ 23PC'	
  #8#6#67 ,:~z:J !7D!((+	, !#'	
> M- 
"	#q	(0&'	
( M 
	$9!$<z$IGM'	
 Mr   c                     ddl m} g }|j                         D ](  }|j                         D ]  }|j	                  |        * |S )zOAllow each panel to check the toolbar's integration for their its own purposes.r   )DebugToolbar)debug_toolbar.toolbarr-   get_panel_classes
run_checksr   )r$   r%   r-   r&   panel_classcheck_messages         r   check_panel_configsr3   P   sO     3F#557 )(335 	)MMM-(	)) Mr   c                 ~    	 t        |      }t        j                  |      xr t	        ||       S # t        $ r Y y w xY w)N)r   ImportErrorinspectisclass
issubclass)middleware_classmiddleware_pathmiddleware_clss      r   r"   r"   \   sJ    &7 ??>* z(0   s   0 	<<c                 p    g }t        j                         }|s|j                  t        ddd             |S )Nz&Setting DEBUG_TOOLBAR_PANELS is empty.zASet DEBUG_TOOLBAR_PANELS to a non-empty list in your settings.py.zdebug_toolbar.W005r   )dt_settings
get_panelsr   r   )r$   r%   r&   panelss       r   check_panelsr@   f   s>    F##%F8'		
 Mr   )r6   django.appsr   django.confr   django.core.checksr   r   django.middleware.gzipr   django.utils.module_loadingr   django.utils.translationr	   r   r   r=   r   r+   r3   r"   r@   r   r   r   <module>rG      sk     !   0 1 5 6 1& &
 
: 
:z 
 
 
 
r   