o
    QDi1                     @   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|   d  S )Nz	Django %sdjango_version)	get_stats)self r	   V/var/www/Datamplify/venv/lib/python3.10/site-packages/debug_toolbar/panels/versions.pynav_subtitle   s   zVersionsPanel.nav_subtitleVersionsz"debug_toolbar/panels/versions.htmlc                 C   s`   dddt jd d  fdd| tfg}|t|  7 }| t 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)r   versionspaths)
sysversion_infoget_app_versiondjangolistgen_app_versionsrecord_statsget_version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>4   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	TypeErrorr6   r7   )r   r*   r   r	   r	   r
   r1   7   s   


z"VersionsPanel.get_version_from_appN)r'   
__module____qualname____doc__is_asyncpropertyr   _titletemplater"   r   r   r1   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    