HEX
Server: Apache/2.4.65 (Debian)
System: Linux kubikelcreative 5.10.0-35-amd64 #1 SMP Debian 5.10.237-1 (2025-05-19) x86_64
User: www-data (33)
PHP: 8.4.13
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/__pycache__/lsb_release.cpython-39.pyc
a

\�\�3�@sddlmZddlZddlZddlZddlZddlZddlZd)dd�Ze�d*dd�Z	dd	�Z
zeWn ey�ddl
Z
e
jZYn0d
d�Zdd
dddd�Zdd�Zdd�Zdd�Zdd�Zddddddifdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zed(k�re�dS)+�)�print_functionN�DebiancCs�zt}Wntyt}Yn0ztd|���}Wn|yNtd�}Yn0t�|�}dd�|D�att�	��a
t
jdd�d�tttt
��d�a
|��d	kr�d
a
t
�gd��|��dS)Nz/usr/share/distro-info/%s.csvz!/usr/share/distro-info/debian.csvcSs"i|]}|dr|d|d�qS)�versionZseries�)�.0�rrr�-/usr/lib/python3/dist-packages/lsb_release.py�
<dictcomp>.�z#get_distro_info.<locals>.<dictcomp>cSst|d�S�Nr)�float)�nrrr�<lambda>0r
z!get_distro_info.<locals>.<lambda>��key�Zdebianzunknown.new.testing)Zstablezproposed-updates�testingztesting-proposed-updates�unstable�sid)�FileNotFoundError�	NameError�IOError�open�lower�csvZ
DictReader�RELEASE_CODENAME_LOOKUP�list�items�RELEASES_ORDER�sort�zip�TESTING_CODENAME�extend�close)�originZFileNotFoundExceptionZcsvfile�readerrrr�get_distro_infos"

r&cCsRt�d|�}|s|St|�d��dkr8d|�dd�}nd|�d�}t�||�S)Nz(\d+)\.(\d+)(r(\d+))?r�z%s.%s�z%s)�re�match�int�groupr�get)�release�unknown�mZshortreleaserrr�lookup_codename<sr1cCsb|dkrddgS|dkrB|dvr&dgS|dkr6ddgSgd�S�n|dkr�|dkrZddgS|d	krhdgS|d
vrvdgS|dkr�gd�Sgd�Sn�|d
k�r�|dkr�gd�S|d	kr�dgS|d
vr�dd
gS|dkr�d
gS|dk�r�gd�Sgd�Snj|dk�r\|dk�rgd�S|d	k�rdgS|d
v�r0gd�S|dk�rBd
dgS|dk�rTgd�Sgd�S|gS)N�3.0�2.0�3.1)�desktop�qt4Zcxx)r3r2r4�3.2r5r6)Zprinting�	languagesZ
multimedia)r2r4r7)r3r2r4r7�4.0)r4r7r9Zsecurity)r2r4r7r9)r3r2r4r7r9�4.1)r4r7r9r:)r7r9r:)r2r4r7r9r:)r3r2r4r7r9r:r)r�modulerrr�valid_lsb_versionsGsV









r<cCsgS�Nrrrrr�check_modules_installed�sr>rr$�suite�	component�label)�v�o�a�c�lcCsXi}|�d�}|D]@}|�dd�}t|�dkr|dd�\}}|tvr||t|<q|S)N�,�=rr()�split�len�	longnames)�dataZretval�bits�bitZkv�krBrrr�parse_policy_line�s
rPcCsT|d�d�}|rP|tvr0ttt�t�|��Sz
t|�WStyNYdS0dS)Nrr?r)r-rr+rJ�indexr�
ValueError)�xr?rrr�
release_index�s
rTcCsRtjdtdd�t|�}t|�}z
||WStyL||k||kYS0dS)Nz^compare_release(x,y) is deprecated; please use the release_index(x) as key for sort() instead.r()�
stacklevel)�warnings�warn�DeprecationWarningrT�	TypeError)rS�yZ	suite_x_iZ	suite_y_irrr�compare_release�s
r[cCs�g}tj��}d|d<tjddg|tjtjdd���d�d�}|�d	�D]b}|�	�}t
�d
|�}|rtt|�
d��}|�d�rJ|�d
d�}t|�dkrJ|�|t|d�f�qJ|S)NzC.UTF-8�LC_ALLz	apt-cache�policyT)�env�stdout�stderrZ	close_fdsrzutf-8�
z(-?\d+)rr.� )�os�environ�copy�
subprocess�Popen�PIPEZcommunicate�decoderI�stripr)r*r+r,�
startswithrJ�appendrP)rLZC_envr]�liner0�priorityrMrrr�parse_apt_policy�s,
���
ro�mainZexperimental�Debian Ports�zftp.ports.debian.orgzftp.debian-ports.orgcsxt�}|sdS�����fdd�|D�}|s0dS|jdd�dd�|dd��fdd�|D�}|jtd	�|dd
S)Nc	s�g|]�}|d�dd��krX|d�dd��vrX|d�dd��krX|d�dd��ks�|d�dd��vr|d�dd���|d�dd��vr|�qS)rr$�r?r@rA)r-�rrS)�alternate_olabelsr@�ignoresuitesrAr$rr�
<listcomp>�s&�z*guess_release_from_apt.<locals>.<listcomp>cSs|dSrr)�tuplerrrr�r
z(guess_release_from_apt.<locals>.<lambda>T)r�reversercsg|]}|d�kr|�qS)rrrt)�max_priorityrrrw�r
rr)rorrT)r$r@rvrAruZreleasesr)rur@rvrArzr$r�guess_release_from_apt�s	r{c

CsBi}d|d<tj�dd�}tj�|�r�z~t|��b}|D]L}z4|�dd�\}}|��}|��}|dkrl||d<Wq6t	y�Yq60q6Wd�n1s�0YWn@t
y�}z(td|d	t|�t
jd
�WYd}~n
d}~00t|d�t��d}|dv�rd
||d<n4|dk�r.d||d<n|dv�rB||d<nd|d<d||d<tj�dd�}tj�|��r^z:t|��}	|	����}
Wd�n1�s�0YWnFt
�y�}z,td|d	t|�t
jd
�d}
WYd}~n
d}~00|
dd����s"t|
d�}|�|
|d��n<|
�d��rV|
�d���dk�rL|
�d�ad|d<n|
|d<|�d��s�t�}|�r�|�d�}
|
d k�r�|�d!�d"k�r�|�d#�d$v�r�d}
|�d%d&i�|
�r�t|
d�}n |�d%d&�}
|
dk�r�t}nd'}|�|
|d��|�d��r|dd(|7<|�d��r>|dd)|7<|S)*Nr�IDZLSB_ETC_DPKG_ORIGINS_DEFAULTz/etc/dpkg/origins/defaultz: rZvendor�Unable to open �:��filer)ZLinuxZHurdZNetBSDzGNU/ZOSZFreeBSDzGNU/k)z	GNU/LinuxzGNU/kFreeBSDZGNUz
%(ID)s %(OS)s�DESCRIPTIONZLSB_ETC_DEBIAN_VERSIONz/etc/debian_versionr/zn/a)�RELEASE�CODENAMEz/sidrztesting/unstabler�r�rz1.0r$rqrArrr?rrz %(RELEASE)sz (%(CODENAME)s))rcrdr-�path�existsrrIrrjrRr�print�str�sysr`r&�uname�read�isalphar1�update�endswith�rstripr!r{)
�distinfoZetc_dpkg_origins_defaultZdpkg_origins_filerm�headerZcontent�msgZkernZetc_debian_versionZdebian_versionr.�codenameZrinforrr�guess_debian_release�s|
*2




0




*
r�c
CsDi}tj�dd�}tj�|��r@z�t|���}|D]�}|��}|sBq0d|vrLq0|�dd�\}}|�d�r||�	d�r||dd�}|r0|dkr�|��|d<q0|d	kr�|��|d
<q0|dkr�|���
�|d<q0|dkr0|��|d
<q0Wd�n1s�0YWnBt�y>}z(td|dt
|�tjd�WYd}~n
d}~00|S)NZLSB_OS_RELEASEz/usr/lib/os-releaserHr�"���Z
VERSION_IDr�ZVERSION_CODENAMEr�r|ZPRETTY_NAMEr�r}r~r)rcrdr-r�r�rrjrIrkr��titlerr�r�r�r`)r�Z
os_releaseZos_release_filerm�var�argr�rrr�get_os_release>s4
02r�cCs4t�}dD]$}||vr
t�}|�|�|Sq
|S)N)r|r�r�r�)r�r�r�)Zlsbinforr�rrr�get_distro_information_s

r�cCstt��tt��dSr=)r�r�r>rrrr�testjs
r��__main__)r)N)Z
__future__rr�rfrcr)rVrr&r1r<�setrZsets�Setr>rKrPrTr[ror{r�r�r�r��__name__rrrr�<module>sD

5�
�
!^!