
    $gA                         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dS )
    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                   n    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dS )SignalsPanelz!debug_toolbar/panels/signals.html)r   r   r   r   r   r   r   r   r   r   r
   r	   r   r   r   c                     |                                  d         }t          d |D                       }t          |          }|dk    rt          dd|          d|iz  S t          dd|          ||d	z  S )
Nsignalsc              3   :   K   | ]\  }}t          |          V  d S )N)len).0name	receiverss      \/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/debug_toolbar/panels/signals.py	<genexpr>z,SignalsPanel.nav_subtitle.<locals>.<genexpr>3   s,      JJtYC	NNJJJJJJ       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   r   )selfr   r#   r$   s       r   nav_subtitlezSignalsPanel.nav_subtitle1   s    ..""9-JJ'JJJJJ'll !89  !-0	1 1
 CD
 
 ,KHH	I 	Ir!   Signalsc                     | j                                         }| j        j        d         D ]0}|                    dd          d         }t          |          ||<   1|S )NEXTRA_SIGNALS.r"   )SIGNALScopytoolbarconfigrsplitr   )r'   r   signalsignal_names       r   r   zSignalsPanel.signalsE   s`    ,##%%l)/: 	9 	9F --Q//3K#0#8#8GK  r!   c           	      2   g }t          | j                                                  D ]\  }}g }|j        D ]}|d         }t	          |t
          j                  r
 |            }|1t          |d|          }t          |dt          |                    }t          |dd           (t          |j	        dt                    j        }	|	 d| }
n|}
|                    |
           |                    ||f           |                     d|i           d S )Nr"   	__wraps____name____self__	__class__r,   r   )sortedr   itemsr   
isinstanceweakrefReferenceTypegetattrstrr8   typer7   appendrecord_stats)r'   requestresponser   r   r3   r   receiverreceiver_namereceiver_class_nametexts              r   generate_statszSignalsPanel.generate_statsM   s>   "4<#5#5#7#788 	. 	.LD&I", ' '#A;h(=>> *'xzzH#"8[(CC '*c(mm L L8Z66B*1 );+ + ( 2CCMCCDD(D  &&&&NND),----9g./////r!   N)r7   
__module____qualname__templater   r   r   r   r   r   r   r   r   r   r
   r	   r   r   r   r.   r(   _titlepropertyr   rJ    r!   r   r   r      s        2H +,!60( """$* G$I I I$ AiLLE  X0 0 0 0 0r!   r   )r=   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   rN   r   debug_toolbar.panelsr   r   rQ   r!   r   <module>rX      sR               : 9 9 9 9 9                        6 5 5 5 5 5 @ @ @ @ @ @ @ @ & & & & & &H0 H0 H0 H0 H05 H0 H0 H0 H0 H0r!   