o
    >hV                     @   s   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	 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                   @   s\   e Zd ZdZdZeeeee	e
eeeeeeeeedZdd ZedZedd Zd	d
 ZdS )SignalsPanelz!debug_toolbar/panels/signals.htmlT)r   r   r   r   r   r   r
   r   r   r   r	   r   r   r   r   c                 C   sX   |   d }tdd |D }t|}|dkr!tdd|d|i S tdd	|||d
 S )Nsignalsc                 s   s    | ]	\}}t |V  qd S )N)len).0name	receivers r   |/var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/debug_toolbar/panels/signals.py	<genexpr>5   s    z,SignalsPanel.nav_subtitle.<locals>.<genexpr>   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    r   r   r   nav_subtitle3   s$   zSignalsPanel.nav_subtitleSignalsc                 C   s<   | j  }| jjd D ]}|ddd }t|||< q|S )NEXTRA_SIGNALS.r   )SIGNALScopytoolbarconfigrsplitr   )r#   r   signalsignal_namer   r   r   r   G   s
   
zSignalsPanel.signalsc                 C   s   g }t | j D ]R\}}g }|jD ]A}|d }t|tjr!| }|d u r&qt|d|}t|dt|}t|dd d urLt|j	dt
j}	|	 d| }
n|}
||
 q|||f q	| d|i d S )Nr   	__wraps____name____self__	__class__r'   r   )sortedr   itemsr   
isinstanceweakrefReferenceTypegetattrstrr2   typer1   appendrecord_stats)r#   requestresponser   r   r.   r   receiverreceiver_namereceiver_class_nametextr   r   r   generate_statsO   s,   
zSignalsPanel.generate_statsN)r1   
__module____qualname__templateis_asyncr   r   r   r   r   r   r
   r   r   r   r	   r   r   r   r   r)   r$   _titlepropertyr   rD   r   r   r   r   r      s0    
r   )r7   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   rI   r   debug_toolbar.panelsr   r   r   r   r   r   <module>   s    0