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/debpython/version.pyc
�
�<ac@s�ddlZddlZddlmZddlmZddlmZddlm	Z	dgZ
dZdZej
e�Zeje�Zejd	�Zejd
�Zes�ere�Zejd�es�ejdd
�dZnesejdd�jdd�Zqny#ed�ejd�D��ZWnek
rYejd�nXy#ed�ejd�D��Z
Wnek
r�ejd�nXddd�Zd�Zd�Zd�Z dd�Z!dS(i����N(tSafeConfigParser(tenviron(texists(t
GeneratorTypeiis(-)?(\d\.\d+)(?:(-)(\d\.\d+)?)?tDEBPYTHON_SUPPORTEDtDEBPYTHON_DEFAULTs!/usr/share/python/debian_defaultstDEFAULTsdefault-versionissupported-versionstpythontccs|]}t|�VqdS(N(tint(t.0ti((s&/usr/share/python/debpython/version.pys	<genexpr>3st.scannot read debian_defaultsccs4|]*}td�|j�jd�D��VqdS(css|]}t|�VqdS(N(R	(R
tj((s&/usr/share/python/debpython/version.pys	<genexpr>7sRN(ttupletstriptsplit(R
R((s&/usr/share/python/debpython/version.pys	<genexpr>7st,cs&t|t�rt|�}n|s=t|�ddgkrLtt�}n�|ddkrbdn|d�|ddkr�d	n|d���kr�t�tkr��fnt��}nt��fd�tD��}|r�td�|D��}n%|tkr"td�|D��}n|S(
s>Return a set of requested and supported Python versions.

    :param available: if set to `True`, return installed versions only,
        if set to `False`, return requested versions that are not installed.
        By default returns all requested versions.
    :type available: bool

    >>> sorted(get_requested_versions([(2, 5), (3, 0)]))
    [(2, 7)]
    >>> sorted(get_requested_versions('')) == sorted(SUPPORTED)
    True
    >>> sorted(get_requested_versions([None, None])) == sorted(SUPPORTED)
    True
    >>> get_requested_versions([(5, 0), None])
    set([])
    iiicc3s1|]'}�|ko �knr|VqdS(N((R
tv(tmaxvtminv(s&/usr/share/python/debpython/version.pys	<genexpr>Yscss%|]}td|�r|VqdS(s/usr/bin/python%d.%dN(R(R
R((s&/usr/share/python/debpython/version.pys	<genexpr>\scss%|]}td|�s|VqdS(s/usr/bin/python%d.%dN(R(R
R((s&/usr/share/python/debpython/version.pys	<genexpr>_sN(ii(icic(	t
isinstancet
basestringtparse_vrangetlisttNonetsett	SUPPORTEDRtFalse(tvranget	availabletversions((RRs&/usr/share/python/debpython/version.pytget_requested_versions=s  'cCsL|dkrd
Stj|�}|s8td|��n|j�}t|�jd�dkr�td�|djd�D��}||fSd}}|dr�|d}n|d}|d}|r�td	�|jd�D��nd}|rtd
�|jd�D��nd}|rB|rB||krBtd|��n||fS(s�Return minimum and maximum Python version from given range.

    >>> parse_vrange('2.4-')
    ((2, 4), None)
    >>> parse_vrange('2.4-2.6')
    ((2, 4), (2, 6))
    >>> parse_vrange('2.4-3.0')
    ((2, 4), (3, 0))
    >>> parse_vrange('-2.7')
    (None, (2, 7))
    >>> parse_vrange('2.5')
    ((2, 5), (2, 5))
    >>> parse_vrange('') == parse_vrange('-') == (None, None)
    True
    Rt-sversion range is invalid: %sicss|]}t|�VqdS(N(R	(R
R((s&/usr/share/python/debpython/version.pys	<genexpr>~siRicss|]}t|�VqdS(N(R	(R
R((s&/usr/share/python/debpython/version.pys	<genexpr>�scss|]}t|�VqdS(N(R	(R
R((s&/usr/share/python/debpython/version.pys	<genexpr>�s(RR!N(NN(	RtRANGE_REtmatcht
ValueErrortgroupsRtcountRR(tvalueR#R%RR((s&/usr/share/python/debpython/version.pyRes&#





++cCs�t|t�r|St|ttf�rSt|dt�rSdjd�|D��Sg}xM|D]E}t|t�r�|j|�q`|jdjd�|D���q`W|S(s�
    >>> vrepr(([2, 7], [3, 2]))
    ['2.7', '3.2']
    >>> vrepr(('2.6', '3.1'))
    ['2.6', '3.1']
    >>> vrepr('2.7')
    '2.7'
    >>> vrepr((2, 7))
    '2.7'
    iRcss|]}t|�VqdS(N(tstr(R
R((s&/usr/share/python/debpython/version.pys	<genexpr>�scss|]}t|�VqdS(N(R((R
R((s&/usr/share/python/debpython/version.pys	<genexpr>�s(RRRRR	tjointappend(R'tresulttversion((s&/usr/share/python/debpython/version.pytvrepr�s
$cCs.|s
dStd�|jdd�D��d S(s�Return pair of integers that represent version.

    >>> getver('2.5')
    (2, 5)
    >>> getver('2.6.4')
    (2, 6)
    >>> getver(None)
    ''
    Rcss|]}t|�VqdS(N(R	(R
R((s&/usr/share/python/debpython/version.pys	<genexpr>�sRi(RR(R'((s&/usr/share/python/debpython/version.pytgetver�s
cCs�g}g}x[t|�D]M}t|t�r=t|�}n|tkrY|j|�q|j|�qW|jt|��|r�|r�t|�S|S(s�Return sorted list of versions starting with default Python
    version (if available) then list of suppored versions greater than default
    one followed by reversed list of older versions.

    List of versions sorted this way can be used in Depends field.

    :param vrepr: return string represenatations of versions, by default the
        same format is used as in :param:`versions`

    >>> debsorted([(2, 6), (3, 1), (2, 5), (2, 4), (2, 7)])[0] == DEFAULT
    True
    >>> debsorted(('2.4', '3.2', '2.6', '2.7'))[-1]
    (2, 4)
    >>> debsorted(set([(2, 1), (2, 2)]))
    [(2, 2), (2, 1)]
    >>> debsorted([(2, 1), (2, 2)], return_str=True)
    ['2.2', '2.1']
    (	tsortedRRR.RR*textendtreversedR-(Rt
return_strR+told_versionsR,((s&/usr/share/python/debpython/version.pyt	debsorted�s
(ii(ii("tloggingtretConfigParserRtosRtos.pathRttypesRRRt
RANGE_PATTERNtcompileR"t	getLoggert__name__tlogtgett
_supportedt_defaultt_configtreadtreplaceRRt	Exceptiont	exceptionRR RR-R.R4(((s&/usr/share/python/debpython/version.pyt<module>sD		
#
	
(	,