
    7 f                     N    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e      Z	y)    N)apps)gettext_lazy)Panelc                   L    e Zd ZdZed        Z ed      ZdZd Z	d Z
d Zd Zy	)
VersionsPanelzK
    Shows versions of Python, Django, and installed apps if possible.
    c                 0    dt        j                         z  S )Nz	Django %s)djangoget_version)selfs    S/var/www/equiseq/venv/lib/python3.11/site-packages/debug_toolbar/panels/versions.pynav_subtitlezVersionsPanel.nav_subtitle   s    V//111    Versionsz"debug_toolbar/panels/versions.htmlc                     dddt         j                  d d z  fdd| j                  t              fg}|t	        | j                               z  }| j                  t        |d       t         j                  d       y )	NPython z%d.%d.%d   Djangoc                     | d   S )Nr    )vs    r   <lambda>z.VersionsPanel.generate_stats.<locals>.<lambda>   s
    ! r   )key)versionspaths)	sysversion_infoget_app_versionr	   listgen_app_versionsrecord_statssortedpath)r   requestresponser   s       r   generate_statszVersionsPanel.generate_stats   su    r:(8(8!(<<=r4//78
 	D..011n=Q	
r   c              #      K   t        j                         D ]?  }|j                  }|j                  }| j	                  |      }|s/|j
                  ||f A y wN)r   get_app_configsverbose_namemoduler   __name__)r   
app_confignameappversions        r   r    zVersionsPanel.gen_app_versions!   sX     ..0 	2J**D##C**3/GllD'11	2s   AAAc                     | j                  |      }t        |t        t        f      r'dj	                  d |D              j                  d      }|S )N.c              3   2   K   | ]  }t        |        y wr(   )str).0os     r   	<genexpr>z0VersionsPanel.get_app_version.<locals>.<genexpr>.   s     7!s1v7s   )get_version_from_app
isinstancer   tuplejoinrstrip)r   r/   r0   s      r   r   zVersionsPanel.get_app_version)   sF    ++C0ge}- hh7w77>>sCGr   c                     t        |d      r!|j                  }t        |      r	  |       S |S t        |d      r|j                  S t        |d      r|j
                  S y # t        $ r Y <w xY w)Nr
   VERSION__version__)hasattrr
   callable	TypeErrorr>   r?   )r   r/   r
   s      r   r8   z"VersionsPanel.get_version_from_app1   sq    3&//K$&=( #"3	";;3&??" ! s   A 	A+*A+N)r,   
__module____qualname____doc__propertyr   _titletemplater&   r    r   r8   r   r   r   r   r   
   s?     2 2 jME3H
2r   r   )
r   r	   django.appsr   django.utils.translationr   rG   debug_toolbar.panelsr   r   r   r   r   <module>rM      s     
   6 &5E 5r   