o
    >h                     @   sH   d dl Z d dlZd dlmZ d dlmZ d dlmZ G dd deZ	dS )    N)apps)gettext_lazy)Panelc                   @   sL   e Zd ZdZdZedd ZedZdZ	dd Z
d	d
 Zdd Zdd ZdS )VersionsPanelzK
    Shows versions of Python, Django, and installed apps if possible.
    Tc                 C   s   dt   S )NzDjango )djangoget_version)self r	   }/var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/debug_toolbar/panels/versions.pynav_subtitle   s   zVersionsPanel.nav_subtitleVersionsz"debug_toolbar/panels/versions.htmlc                 C   sZ   dddt jd d  fdd| tfg}|t|  7 }| t|dd dt jd	 d S )
NPython z%d.%d.%d   Djangoc                 S   s   | d S )Nr   r	   )vr	   r	   r
   <lambda>    s    z.VersionsPanel.generate_stats.<locals>.<lambda>)key)versionspaths)	sysversion_infoget_app_versionr   listgen_app_versionsrecord_statssortedpath)r   requestresponser   r	   r	   r
   generate_stats   s   zVersionsPanel.generate_statsc                 c   s<    t  D ]}|j}|j}| |}|r|j||fV  qd S N)r   get_app_configsverbose_namemoduler   __name__)r   
app_confignameappversionr	   r	   r
   r   #   s   
zVersionsPanel.gen_app_versionsc                 C   s6   |  |}t|ttfrddd |D d}|S )N.c                 s   s    | ]}t |V  qd S r!   )str).0or	   r	   r
   	<genexpr>0   s    z0VersionsPanel.get_app_version.<locals>.<genexpr>)get_version_from_app
isinstancer   tuplejoinrstrip)r   r(   r)   r	   r	   r
   r   +   s   
zVersionsPanel.get_app_versionc                 C   s\   t |dr|j}t|rz| W S  ty   Y nw |S t |dr$|jS t |dr,|jS d S )Nr   VERSION__version__)hasattrr   callable	TypeErrorr4   r5   )r   r(   r   r	   r	   r
   r/   3   s   


z"VersionsPanel.get_version_from_appN)r%   
__module____qualname____doc__is_asyncpropertyr   _titletemplater    r   r   r/   r	   r	   r	   r
   r   
   s    

r   )
r   r   django.appsr   django.utils.translationr   r>   debug_toolbar.panelsr   r   r	   r	   r	   r
   <module>   s    