HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/root/usr/lib/python3/dist-packages/__pycache__/lsb_release.cpython-38.pyc
U

x�b]5:�@sddlmZddlZddlZddlZddlZddlZddlZd+dd�Ze�d,dd�Z	dZ
e�d	�Zd
d�Z
zeWn"ek
r�ddlZejZYnXdd
�Zdddddd�Zdd�Zdd�Zdd�Zdd�Zddddddifd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zed*k�re�dS)-�)�print_functionN�DebiancCs�zt}Wntk
r t}YnXztd|���}Wn|k
rRtd�}YnXt�|�}dd�|D�att�	��a
t
jdd�d�tttt
��d�a
|��d	kr�d
a
t
�ddd
dddg�|��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>.sz#get_distro_info.<locals>.<dictcomp>cSst|d�S�Nr)�float)�nrrr�<lambda>0�z!get_distro_info.<locals>.<lambda>��key�Zdebianzunknown.new.testingZstablezproposed-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r1z`lsb-core lsb-cxx lsb-graphics lsb-desktop lsb-languages lsb-multimedia lsb-printing lsb-securityzIlsb-(?P<module>[a-z0-9]+)-(?P<arch>[^ ]+)(?: \(= (?P<version>[0-9.]+)\))?cCs�|dkrddgS|dkrD|dkr&dgS|dkr6ddgSdddgS�nB|dkr�|dkr\ddgS|dkrjdgS|d	krxdgS|dkr�dddgSddddgS�n�|d
k�r|dkr�ddd
gS|dkr�dgS|d	kr�dd
gS|dkr�d
gS|dk�r�dddd
gSddddd
gSn~|dk�r�|dk�r(ddd
dgS|dk�r8dgS|d	k�rLdd
dgS|dk�r^d
dgS|dk�rvdddd
dgSddddd
dgS|gS)
Nz3.0z2.0z3.1)�desktop�qt4Zcxxz3.2r2r3)Zprinting�	languagesZ
multimediaz4.0Zsecurityz4.1r)r�modulerrr�valid_lsb_versionsLsV










r6cCs tj��}d|d<tjddddgt��|tjtjdd���d	�	d
�}|sPgSt
�}|�tj�D]�}|sp�q|�dd�\}}t�d
|d�d	}|�d�D]l}t
�|�}|s�q�|��}|�d�r�d|}	|�|	�q�|d}	t||	�D]}
|
|d<d|}	|�|	�q�q�qbt|�}|��|S)N�C�LC_ALLz
dpkg-queryz-fz${Version} ${Provides}
z-WT��env�stdout�stderrZ	close_fdsr�utf-8� rz[-+~]�,rz%(module)s-%(version)s-%(arch)sr5)�os�environ�copy�
subprocess�Popen�PACKAGES�split�PIPE�communicate�decode�set�linesepr)�	modnamere�search�	groupdictr-�addr6rr)�C_env�output�modules�linerZprovidesZpkgZmobZmgroupsr5�vrrr�check_modules_installed�sH
���

rUrr$�suite�	component�label)rT�o�a�c�lcCsXi}|�d�}|D]@}|�dd�}t|�dkr|dd�\}}|tkr||t|<q|S)Nr?�=rr()rF�len�	longnames)�dataZretval�bits�bitZkv�krTrrr�parse_policy_line�s
rdcCsV|d�d�}|rR|tkr0ttt�t�|��Sz
t|�WStk
rPYdSXdS)NrrVr)r-rr+r^�indexr�
ValueError)�xrVrrr�
release_index�s
rhcCsTtjdtdd�t|�}t|�}z
||WStk
rN||k||kYSXdS)Nz^compare_release(x,y) is deprecated; please use the release_index(x) as key for sort() instead.r()�
stacklevel)�warnings�warn�DeprecationWarningrh�	TypeError)rg�yZ	suite_x_iZ	suite_y_irrr�compare_release�s
rocCs�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-8r8z	apt-cache�policyTr9rr=�
z(-?\d+)rr.r>)r@rArBrCrDrGrHrIrF�stripr)r*r+r,�
startswithr^�appendrd)r`rPrprSr0�priorityrarrr�parse_apt_policy�s.

���
rv�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��krX|d�dd��krX|d�dd��ks�|d�dd��kr|d�dd���|d�dd��kr|�qS)rr$�rVrWrX)r-�rrg)�alternate_olabelsrW�ignoresuitesrXr$rr�
<listcomp>�s&�z*guess_release_from_apt.<locals>.<listcomp>cSs|dSr
r)�tuplerrrr
�rz(guess_release_from_apt.<locals>.<lambda>T)r�reversercsg|]}|d�kr|�qS)rrr{)�max_priorityrrr~srr)rvrrh)r$rWr}rXr|Zreleasesr)r|rWr}rXr�r$r�guess_release_from_apt�s	r�c

Csi}d|d<tj�dd�}tj�|�r�zlt|��Z}|D]N}z4|�dd�\}}|��}|��}|dkrl||d<Wq6t	k
r�Yq6Xq6W5QRXWn>t
k
r�}z td|d	t|�t
jd
�W5d}~XYnXt|d�t��d}|dk�rd
||d<n4|dk�rd||d<n|dk�r.||d<nd|d<d||d<tj�dd�}tj�|��r2z$t|��}	|	����}
W5QRXWnDt
k
�r�}z$td|d	t|�t
jd
�d}
W5d}~XYnX|
dd����s�t|
d�}|�|
|d��n<|
�d��r*|
�d���dk�r |
�d�ad|d<n|
|d<|�d��s�t�}|�r�|�d�}
|
d k�r�|�d!�d"k�r�|�d#�d$k�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$rxrXryrVrrz %(RELEASE)sz (%(CODENAME)s))r@rAr-�path�existsrrFrrrrfr�print�str�sysr<r&�uname�read�isalphar1�update�endswith�rstripr!r�)
�distinfoZetc_dpkg_origins_defaultZdpkg_origins_filerS�headerZcontent�msgZkernZetc_debian_versionZdebian_versionr.�codenameZrinforrr�guess_debian_release
s|
.









*
r�c
Cs.i}tj�dd�}tj�|��r*z�t|���}|D]�}|��}|sBq0d|krLq0|�dd�\}}|�d�r||�	d�r||dd�}|r0|dkr�|��|d<q0|d	kr�|��|d
<q0|dkr�|���
�|d<q0|dkr0|��|d
<q0W5QRXWn@tk
�r(}z td|dt
|�tjd�W5d}~XYnX|S)NZLSB_OS_RELEASEz/usr/lib/os-releaser]r�"���Z
VERSION_IDr�ZVERSION_CODENAMEr�r�ZPRETTY_NAMEr�r�r�r�)r@rAr-r�r�rrrrFrsr��titlerr�r�r�r<)r�Z
os_releaseZos_release_filerS�var�argr�rrr�get_os_releasehs4
.r�cCs4t�}dD]$}||kr
t�}|�|�|Sq
|S)N)r�r�r�r�)r�r�r�)Zlsbinforr�rrr�get_distro_information�s

r�cCstt��tt��dS)N)r�r�rUrrrr�test�s
r��__main__)r)N)Z
__future__rr�rCr@r)rjrr&r1rE�compilerLr6rJrZsets�SetrUr_rdrhrorvr�r�r�r�r��__name__rrrr�<module>sJ


5(�
�
!^!