HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/python/pyversions.pyc
�
�<ac@s�ddlZddlZddlZy
eZWn/ek
r_ddlZejZejZnXda	dd�Z
ed�Zda
ed�Zdaed�Zgejjdd�jd�D]"Zej�r�d	ej�^q�aed
�Zd	ejjdd�atdkr#daned
�Zed�Zed�Zdefd��YZdefd��YZd�Zd�Z ed�Z!d�Z"d�Z#e$dkr�e#�ndS(i����NcCs�ddlm}m}ts�tjjd�r�|�}y|jtd��Wn%t	k
ru}|GHt
jd�nX|aq�ntr�|r�ytjd|�}Wn|k
r�t
�nX|SdS(Ni����(tSafeConfigParsert
NoOptionErrors!/usr/share/python/debian_defaultsitDEFAULT(tConfigParserRRt	_defaultstostpathtexiststreadfptfiletIOErrortsystexittgett
ValueErrortNone(tnameRRtconfigtmsgtvalue((s/usr/share/python/pyversions.pytread_defaults"	

cCspddl}i|jd6|jd6|jd6|jd6|jd6}i}tg�}ttdt�t	dt��}t
}xk|jd�D]Z}|j�}|dkr�d|d<q�n|dkr�||d	<q�n|j
dt��tjd�}	|	j|�}
y�|
s!td
��n|
jd�|
jd�}}|jd�\}
}t|
�dkrvtd��n|dkr�|j|�n8t}||}g|D]}|||�r�|^q�}Wq�tk
r�td
�q�Xq�W|r7|r||d<nd|krl|r*t|�|d<q4|d=qln5d|krl||d<|rl|j|�|d<qln|S(Ni����t=s>=s<=s<<tversion_onlyt,talltcurrenttcurrent_exttversionss(>=|<=|<<|=)? *(\d\.\d)$s&error parsing Python-Version attributeiit.s>error parsing Python-Version attribute, Python 3 version foundtvexact(RR(NR(toperatorteqRtgetletlttsettsupported_versionstTruetold_versionstFalsetsplittstript
setdefaulttretcompiletmatchRtgrouptinttaddt	Exceptiontunion(tvstringt	add_exactRt	operatorstvinfotexact_versionst
version_ranget
relop_seentfieldtvetmtoptvtvmajtvmintfiltoptav((s/usr/share/python/pyversions.pytparse_versions s\



,



cCs�ts[y8td�}g|jd�D]}|j�^q%aWq[tk
rWgaq[Xn|r|gtD]}|d^qhStSdS(Nsold-versionsRi(t
_old_versionsRR(R)R(RRtsR>((s/usr/share/python/pyversions.pyR&Vs,

cCs�ts[y8td�}g|jd�D]}|j�^q%aWq[tk
rWgaq[Xn|r|gtD]}|d^qhStSdS(Nsunsupported-versionsRi(t_unsupported_versionsRR(R)R(RRRER>((s/usr/share/python/pyversions.pytunsupported_versionsds,

tDEBPYTHON_SUPPORTEDtRspython%sc
Cs�tsty8td�}g|jd�D]}|j�^q%aWqttk
rpddddg}y=ddl}|j|dd	d
td|j�}|j	}Wn)t
k
r�tjdj
|��}nXd}xE|D]=}|jd
�r�|jdd	�d	j�jd�}q�q�W|j�|rXg|D]}tjdd|�^q.}|antsqddgaqqqtXn|r�gtD]}	|	d^q�StSdS(Nssupported-versionsRs/usr/bin/apt-caches--no-all-versionstshows
python-alli����tbufsizeitshelltstdoutt sDepends:t:s\s*(\S+)[ (]?.*s\1s	python2.6s	python2.7i(t_supported_versionsRR(R)Rt
subprocesstPopenR'tPIPERMtImportErrorRtpopentjoinRt
startswithtcloseR+tsub(
RRREtcmdRQtptfdtdependstlineR>((s/usr/share/python/pyversions.pyR$ts6,



,
(	tDEBPYTHON_DEFAULTtpythoncCs[tsEytjd�a}Wn�tk
r�dayLdddg}ddl}|j|dddtd|j�}|j	}Wn t
k
r�tjd	�}nX|j�j
�}|j�tjd
|�r�d|aq�nXytd�}Wntk
r
d
}nXt|tjjd|�fkr<td|�n|an|rStdStSdS(Ns/usr/bin/python2s-cs!import sys; print sys.version[:3]i����RKiRLRMs7/usr/bin/python2 -c 'import sys; print sys.version[:3]'s\d\.\d$R`sdefault-versions	python2.7s/usr/bins\/usr/bin/python2 does not match the python2 default version. It must be reset to point to %si(t_default_versionRtreadlinktOSErrorRRQRRR'RSRMRTRUtreadlineR)RXR+R-RRRRV(RtlinkRZRQR[R\R^tdebian_default((s/usr/share/python/pyversions.pytdefault_version�s6





!	cCsd}t|dt�}tdt�}t|�dkr�d|krN|}q�d|krotdt�g}q�d|kr�|d}q�|dj|�}n3d|kr�d|kr�td�nd|krd|kr�|dj|�}nt|�}d|kr�|j	|d�q�n�d|krbtdt�}||dkrVtd	�n|g}nod|kszd|kr�t�}d|kr�|dj|�}nd|kr�|j	|d�q�n	td
�|s�td��n|r�|Sg|D]}d|^q�SdS(
NR4RiRRRRs*both `current' and `all' in version strings+`current' version not in supported versionss$No Python versions in version strings+computed set of supported versions is emptyspython%s(
RRCR%R$tlenRgtintersectionRR#tupdate(R3RRR6t	supportedRR>((s/usr/share/python/pyversions.pytrequested_versions�sH	
		cCs�ddl}t�}g|jd�D]0}tjj|�|kr%tjj|�^q%}|j�|r�g|D]}|d^qrS|SdS(Ni����s/usr/bin/python[0-9].[0-9]i(tglobR$RRtbasenametsort(RRmRkRERR>((s/usr/share/python/pyversions.pytinstalled_versions�s	0
tControlFileValueErrorcBseZRS((t__name__t
__module__(((s/usr/share/python/pyversions.pyRq�stMissingVersionValueErrorcBseZRS((RrRs(((s/usr/share/python/pyversions.pyRt�scCs�d}d}d}yt|d�}Wn/tk
rV}d||fGHtjd�nXx|D]}|j�}|dkr�|dkr�q^n|dkr�Pnd}q^|jd�r�d}q^|jd|�r�|}q^|j�jd�r'|dkrtd
�n|j	dd�dj�}q^|j�jd
�r^||krj|j	dd�dj�}qjq^q^W|dkr�t
d�n|dkr�|dkr�td�n|S|dkr�td|�n|S(s�read the debian/control file, extract the X-Python-Version or
    XS-Python-Version field; check that XB-Python-Version exists for the
    package.trsCannot open %s: %siRItSourcesSource:s	Package: sxs-python-version:sx-python-version:s3attribute X(S)-Python-Version not in Source sectionROisxb-python-version:snot a control files&no X(S)-Python-Version in control files$no XB-Python-Version for package `%sN(sxs-python-version:sx-python-version:(RR	R
RRR)RWtlowerRR(RqRt(tfntpkgtversiontsversiontsectiontfpRR^((s/usr/share/python/pyversions.pytextract_pyversion_attribute�sN
				&	
cCs]g|jd�D]}t|�^q}g|jd�D]}t|�^q8}t||�S(NR(R(R/tcmp(tver1tver2titv1tv2((s/usr/share/python/pyversions.pytversion_cmp"s((cCsag}tdt�}x|jd�D]�}|jd�}t|�dkr�|dsg|d|d<n|ds�|d|d<nx�|D]`}yFt||d�dkr�t||d�dkr�|j|�nWq�tk
r�q�Xq�Wq%|d|kr%|j|d�q%q%W|jt�|s7td�n|s]g|D]}d|^qD}n|S(	NRRt-iii����sempty set of versionsR`(R$R%R(RhR�tappendRRo(R3RRtpy_supported_shorttitemR>tverR�((s/usr/share/python/pyversions.pytrequested_versions_bis's0




 cCst|�j�jd�}|S(Ns
(R	Rdtrstrip(RxR3((s/usr/share/python/pyversions.pytextract_pyversion_attribute_bisBscCs�ddlm}d}|d|�}|jddddd	d
dd�|jd
dddd	d
dd�|jddddd	d
dd�|jddddd	d
dd�|jdddddtd	d
dd�|j�\}}tjjtj	d�}|j
r`t|�dkr`yt|j
�GHWq�tk
r\}d|G|GHtjd�q�Xn�|jr�t|�dkr�d jt|j
��GHnX|jr�t|�dkr�d jt|j
��GHn#|jr�t|�dkr�t|�dkrd!}n
|d}y|tjj|�re|}y%t|d"�}	t|	|j
�}
Wqwtk
r�tjjd#||f�tjd�qwtk
r(tjjtjj|�d$�}tjjd%||f�y"t|�}	t|	|j
�}
Wqbt k
r$tjjd&|�t|j
�}
qbXqwtk
ra}tjjd'||f�tjd(�qwXnt||j
�}
d j|
�GHWq�tk
r�}tjjd'||f�tjd�q�Xn'tjjd)||f�tjd�dS(*Ni����(tOptionParsersk[-v] [-h] [-d|--default] [-s|--supported] [-i|--installed] [-r|--requested <version string>|<control file>]tusages-ds	--defaultthelps print the default python versiontactiont
store_truetdesttdefaults-ss--supporteds#print the supported python versionsRks-rs--requesteds�print the python versions requested by a build; the argument is either the name of a control file or the value of the X(S)-Python-Version attributet	requesteds-is--installeds-print the installed supported python versionst	installeds-vs	--versions print just the version number(s)Ris%s:iRNsdebian/controlRvs%s: not a control file: %s, t
pyversionssA%s: missing X(S)-Python-Version in control file, fall back to %s
sD%s: missing debian/pyversions file, fall back to supported versions
s%s: %s
is
usage: %s %s
(!toptparseR�t
add_optionR't
parse_argsRRRnRtargvR�RhRgRRRRkRVR$R�RpR�tisfileR~RlRqtstderrtwriteRttdirnameR�R�R
(R�R�tparsertoptstargstprogramRRRxR3tvste((s/usr/share/python/pyversions.pytmainFs�




	


!
t__main__(%RR+RR#tSetTypet	NameErrortsetstSetRRRR'RCRDR&RFRGtenvironR
R(R�R)RPR$RaRgRlRpRRqRtR~R�R�R�R�Rr(((s/usr/share/python/pyversions.pyt<module>s@$

	
5

""!	 *	/			G