
    ]j                         d dl Z d dlmZmZmZmZ d dlmZ d dlm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZ d dlmZmZ d dlmZ  G d d	e      Zy)
    N)got_request_exceptionrequest_finishedrequest_startedsetting_changed)connection_created)
class_preparedm2m_changedpost_delete	post_initpost_migrate	post_save
pre_deletepre_initpre_migratepre_save)import_string)gettext_lazyngettext)Panelc                   `    e Zd ZdZeeeeee	e
eeeeeeeedZd Z ed      Zed        Zd Zy)SignalsPanelz!debug_toolbar/panels/signals.html)r   r   r   r   r   r   r   r   r   r   r
   r	   r   r   r   c                     | j                         d   }t        d |D              }t        |      }|dk(  rt        dd|      d|iz  S t        dd|      ||d	z  S )
Nsignalsc              3   8   K   | ]  \  }}t        |        y w)N)len).0name	receiverss      F/root/env/lib/python3.12/site-packages/debug_toolbar/panels/signals.py	<genexpr>z,SignalsPanel.nav_subtitle.<locals>.<genexpr>3   s     JtYC	NJs      z&%(num_receivers)d receiver of 1 signalz'%(num_receivers)d receivers of 1 signalnum_receiversz5%(num_receivers)d receiver of %(num_signals)d signalsz6%(num_receivers)d receivers of %(num_signals)d signals)r"   num_signals)	get_statssumr   __)selfr   r"   r#   s       r   nav_subtitlezSignalsPanel.nav_subtitle1   s    .."9-J'JJ'l !<=!
 #M23 GH
 !.kJK	
    Signalsc                     | j                   j                         }| j                  j                  d   D ]%  }|j	                  dd      d   }t        |      ||<   ' |S )NEXTRA_SIGNALS.r!   )SIGNALScopytoolbarconfigrsplitr   )r'   r   signalsignal_names       r   r   zSignalsPanel.signalsK   s]    ,,##%ll))/: 	9F --Q/3K#0#8GK 	9 r)   c           	         g }t        | j                  j                         d       D ]  \  }}g }|j                  D ]  }|d   }t	        |t
        j                        r |       }|,t        |d|      }t        |dt        |            }t        |dd       8t        |j                  dt              j                  }	dj                  |	|      }
n|}
|j                  |
        |j                  ||f        | j                  d	|i       y )
Nc                     | d   S )Nr    )xs    r   <lambda>z-SignalsPanel.generate_stats.<locals>.<lambda>U   s
    qt r)   )keyr!   	__wraps____name____self__	__class__z{}.{}r   )sortedr   itemsr   
isinstanceweakrefReferenceTypegetattrstrr>   typer=   formatappendrecord_stats)r'   requestresponser   r   r4   r   receiverreceiver_namereceiver_class_nametexts              r   generate_statszSignalsPanel.generate_statsS   s   "4<<#5#5#7^L 	.LD&I",, '#A;h(=(=>'zH#"8[(C '*c(m L8Z6B*1 ));+h ( #>>*=}MD(D  &!'" NND),-'	.* 	9g./r)   N)r=   
__module____qualname__templater   r   r   r   r   r   r   r   r   r   r
   r	   r   r   r   r/   r(   _titlepropertyr   rQ   r8   r)   r   r   r      sd    2H +,!60( """$*G$
0 iLE 0r)   r   )rC   django.core.signalsr   r   r   r   django.db.backends.signalsr   django.db.models.signalsr   r	   r
   r   r   r   r   r   r   r   django.utils.module_loadingr   django.utils.translationr   rU   r   r&   debug_toolbar.panelsr   r   r8   r)   r   <module>r^      s?      :   6 F &N05 N0r)   