HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/share/python3/debpython/__pycache__/version.cpython-35.pyc


pX7@sddlZddlZddlmZddlmZddlmZddlm	Z	dZ
eje
Zejdej
ZejeZejdZejd	ZesereZejd
esejddd
dZesejddjddZy&eddejdDZWnek
r`ejdYnXy&eddejdDZWnek
rejdYnXGdddZddddZddZ ddZ!dd Z"d!d"Z#d#d$Z$dd%d&Z%dS)'N)environ)exists)ConfigParser)
GeneratorTypez(-)?(\d\.\d+)(?:(-)(\d\.\d+)?)?z
    (?P<major>\d+)\.?
    (?P<minor>\d+)?\.?
    (?P<micro>\d+)?[.\s]?
    (?P<releaselevel>alpha|beta|candidate|final)?[.\s]?
    (?P<serial>\d+)?ZDEBPYTHON3_SUPPORTEDZDEBPYTHON3_DEFAULTz"/usr/share/python3/debian_defaultsDEFAULTzdefault-versionzsupported-versionspythonccs|]}t|VqdS)N)int).0ir
'/usr/share/python3/debpython/version.py	<genexpr>5sr.zcannot read debian_defaultsccs7|]-}tdd|jjdDVqdS)css|]}t|VqdS)N)r
)rjr
r
rr9sz<genexpr>.<genexpr>rN)tuplestripsplit)rrr
r
rr9s,c@seZdZddddddddZddZddZdd	Zd
dZdd
ZddZ	ddZ
ddZddZddZ
ddZddZdddZdS)VersionNc
CsYt|ttfr1djdd|D}t|trnx'dD]}t||t||qGWdSt}|d	=|d
=|rtj	|}	xR|	r|	j
jngD]2\}}|dk	r||dkr|||<qWxN|jD]@\}}|dkr,|dk	r,t|}t|||qW|j
sUtddS)
Nrcss|]}t|VqdS)N)str)rrr
r
rrCsz#Version.__init__.<locals>.<genexpr>majorminormicroreleaselevelserialselfvaluezmajor component is required)rrrrr)
isinstancerlistjoinrsetattrgetattrlocals
VERSION_REmatch	groupdictitemsr
r
ValueError)
rrrrrrrnamecompr&r
r
r__init__@s(
	+	zVersion.__init__cCs8t|j}|jdk	r4|dj|j7}|S)zReturn major.minor or major string.

        >>> str(Version(major=3, minor=2, micro=1, releaselevel='final', serial=4))
        '3.2'
        >>> str(Version(major=2))
        '2'
        Nz.{})rrrformat)rresultr
r
r__str__WszVersion.__str__cCstt|S)N)hashrepr)rr
r
r__hash__dszVersion.__hash__cCsQdj|}x7dD]/}t||}|s2P|dj|7}qW|dS)zReturn full version string.

        >>> repr(Version(major=3, minor=2, micro=1, releaselevel='final', serial=4))
        "Version('3.2.1.final.4')"
        >>> repr(Version(major=2))
        "Version('2')"
        zVersion('{}rrrz.{}z'))rrr)r-r#)rr.r*rr
r
r__repr__gs
zVersion.__repr__cCsLt|}|jdkr3|jt|7_n|jt|7_|S)zReturn next version.

        >>> Version('3.1') + 1
        Version('3.2')
        >>> Version('2') + '1'
        Version('3')
        N)rrrr
)rotherr.r
r
r__add__ws
zVersion.__add__cCsvt|}|jdkr<|jt|8_|j}n|jt|8_|j}|dkrrtd|S)zReturn previous version.

        >>> Version('3.1') - 1
        Version('3.0')
        >>> Version('3') - '1'
        Version('2')
        Nrzcannot decrease version further)rrrr
r))rr4r.newr
r
r__sub__s	zVersion.__sub__cCs|j|dkS)Nr)
_Version__cmp)rr4r
r
r__eq__szVersion.__eq__cCs|j|dkS)Nr)r8)rr4r
r
r__lt__szVersion.__lt__cCs|j|dkS)Nr)r8)rr4r
r
r__le__szVersion.__le__cCs|j|dkS)Nr)r8)rr4r
r
r__gt__szVersion.__gt__cCs|j|dkS)Nr)r8)rr4r
r
r__ge__szVersion.__ge__cCsot|tst|}|jdks9|jdkrR|j|dddkS|j|dddkSdS)akCompare major.minor or major only (if minor is not set).

        >>> Version('2.6') << Version('2.7')
        True
        >>> Version('2.6') << Version('2.6.6')
        False
        >>> Version('3') << Version('2')
        False
        >>> Version('3.1') << Version('2')
        False
        >>> Version('2') << Version('3.2.1.alpha.3')
        True
        Nignorerrr)rrrr8)rr4r
r
r
__lshift__s
zVersion.__lshift__cCsot|tst|}|jdks9|jdkrR|j|dddkS|j|dddkSdS)aoCompare major.minor or major only (if minor is not set).

        >>> Version('2.6') >> Version('2.7')
        False
        >>> Version('2.6.7') >> Version('2.6.6')
        False
        >>> Version('3') >> Version('2')
        True
        >>> Version('3.1') >> Version('2')
        True
        >>> Version('2.1') >> Version('3.2.1.alpha.3')
        False
        Nr>rrr)rrrr8)rr4r
r
r
__rshift__s
zVersion.__rshift__c	Cst|tst|}xdD]}||kr5Pt||pGd}t||p\d}|dkrddd	dddd
di}|j|d}|j|d}||krq"||k||kSWdS)NrrrrrrZalphaZbeta	candidatefinal)rrrrr)rrr#get)rr4r>r*Zvalue1Zvalue2Zrmapr
r
rZ__cmps
z
Version.__cmp)__name__
__module____qualname__r,r/r2r3r5r7r9r:r;r<r=r?r@r8r
r
r
rr?s
rcs)t|trt|}|s:t|ddgkrItt}n|ddkr_d
n|d|ddkrdn|dkrttkrfnt}n"tfddtD}|rtdd|D}n%|dkr%td	d|D}|S)aJReturn 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([(3, 0), None]))
    [(3, 2), (3, 3)]
    >>> sorted(get_requested_versions('')) == sorted(SUPPORTED)
    True
    >>> sorted(get_requested_versions([None, None])) == sorted(SUPPORTED)
    True
    >>> get_requested_versions([(5, 0), None]) == set()
    True
    NrrDcc3s1|]'}|ko knr|VqdS)Nr
)rv)maxvminvr
rrsz)get_requested_versions.<locals>.<genexpr>css%|]}td|r|VqdS)z/usr/bin/python%d.%dN)r)rrNr
r
rrsFcss%|]}td|s|VqdS)z/usr/bin/python%d.%dN)r)rrNr
r
rrs)rr)rMrM)rrparse_vranger set	SUPPORTEDr)vrange	availableversionsr
)rOrPrget_requested_versionss  '"rWcCsO|d
krdStj|}|s5td||j}t|jddkrtdd|djd	D}||fSd}}|d
r|d}n|d}|d}|rtdd|jd	Dnd}|rtdd|jd	Dnd}|rE|rE||krEtd|||fS)aReturn minimum and maximum Python version from given range.

    >>> parse_vrange('3.0-')
    ((3, 0), None)
    >>> parse_vrange('3.1-3.3')
    ((3, 1), (3, 3))
    >>> parse_vrange('3.2-4.0')
    ((3, 2), (4, 0))
    >>> parse_vrange('-3.7')
    (None, (3, 7))
    >>> parse_vrange('3.2')
    ((3, 2), (3, 2))
    >>> parse_vrange('') == parse_vrange('-') == (None, None)
    True
    r	-Nzversion range is invalid: %srAcss|]}t|VqdS)N)r
)rrr
r
rr%szparse_vrange.<locals>.<genexpr>rDrrcss|]}t|VqdS)N)r
)rrr
r
rr/scss|]}t|VqdS)N)r
)rrr
r
rr0s)r	rX)NN)RANGE_REr&r)groupsr countrr)rr&rZrPrOr
r
rrQs&&





..rQcCsFd}}t}x|jdD]}|j}tjd|}|rcd|jd}q#tjd|}|rd|jd}q#tjd|}|r#|jd|jdq#Wt|dkr|j}t	|t	|fS|r|rt
|d}|r*t	|nd|r?t	|ndfS)	aParse X-Python3-Version.

    >>> parse_pycentral_vrange('>= 3.1')
    ((3, 1), None)
    >>> parse_pycentral_vrange('<< 4.0')
    (None, (4, 0))
    >>> parse_pycentral_vrange('3.1')
    ((3, 1), (3, 1))
    >>> parse_pycentral_vrange('3.1, 3.2')
    ((3, 1), None)
    Nrz>=\s*([\d\.]+)z%.3srDz<<\s*([\d\.]+)z	^[\d\.]+$r)rRrrrer&groupaddlenpopgetversorted)rrPrOZ	hardcodeditemr&Zverr
r
rparse_pycentral_vrange8s*
	
rdcCs|d|dkodknr(dS|d|dkrZdjdd|dDS|ddkrddjdd|dDS|ddkrdjd	d|dDdSd
djdd|dDdjdd|dDfSdS)
aMReturn version range string from given range.

    >>> vrange_str(((3, 4), None))
    '3.4-'
    >>> vrange_str(((3, 4), (3, 6)))
    '3.4-3.6'
    >>> vrange_str(((3, 4), (4, 0)))
    '3.4-4.0'
    >>> vrange_str((None, (3, 7)))
    '-3.7'
    >>> vrange_str(((3, 5), (3, 5)))
    '3.5'
    >>> vrange_str((None, None))
    '-'
    rrDNrXrcss|]}t|VqdS)N)r)rrr
r
rrvszvrange_str.<locals>.<genexpr>css|]}t|VqdS)N)r)rrr
r
rrxscss|]}t|VqdS)N)r)rrr
r
rrzsz%s-%scss|]}t|VqdS)N)r)rrr
r
rr|scss|]}t|VqdS)N)r)rrr
r
rr}s)r!)rTr
r
r
vrange_strcs$"" recCst|tr|St|ttfrVt|dtrVdjdd|DSg}xP|D]H}t|tr|j|qc|jdjdd|DqcW|S)z
    >>> vrepr(([3, 4], [3, 2]))
    ['3.4', '3.2']
    >>> vrepr(('2.6', '3.1'))
    ['2.6', '3.1']
    >>> vrepr('3.2')
    '3.2'
    >>> vrepr((3, 2))
    '3.2'
    rrcss|]}t|VqdS)N)r)rrr
r
rrszvrepr.<locals>.<genexpr>css|]}t|VqdS)N)r)rrr
r
rrs)rrrrRr
r!append)rr.versionr
r
rvreprs)
'rhcCsT|s
dSt|tr'|ddStdd|jddDddS)zReturn pair of integers that represent version.

    >>> getver('3.2')
    (3, 2)
    >>> getver('3.1.4')
    (3, 1)
    >>> getver((3, 3, 1))
    (3, 3)
    >>> getver(None)
    ''
    r	NrBcss|]}t|VqdS)N)r
)rrr
r
rrszgetver.<locals>.<genexpr>r)rrr)rr
r
rras
racCsg}g}xXt|D]J}t|tr:t|}|tkrV|j|q|j|qW|jt||r|rt|S|S)aReturn 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), (3, 2), (3, 3), (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']
    )	rbrrrarrfextendreversedrh)rVZ
return_strr.Zold_versionsrgr
r
r	debsorteds
rk)&loggingr\osros.pathrconfigparserrtypesrZ
RANGE_PATTERNcompilerYVERBOSEr%	getLoggerrJlogrIZ
_supportedZ_defaultZ_configreadreplacerrr	Exception	exceptionrSrrWrQrdrerhrarkr
r
r
r<module>sJ	
&

(,+