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/dh-python/dhpython/__pycache__/pydist.cpython-35.pyc


vX4@sddlZddlZddlZddlmZddlmZmZmZddl	m
Z
mZddlm
Z
mZmZmZmZddlmZmZddlmZejdZejd	ejZejd
ejZddd
dddiZddZeddZdddddZ dddddddZ!ddZ"ddZ#ddZ$ejd Z%ejd!Z&d"d#Z'd$d%Z(d&d'Z)dS)(N)partial)existsisdirjoin)PIPEPopen)PKG_PREFIX_MAP
PUBLIC_DIR_REPYDIST_DIRSPYDIST_OVERRIDES_FNAMESPYDIST_DPKG_SEARCH_TPLS)get_requested_versionsVersion)memoizedhpythona
    (?P<name>[A-Za-z][A-Za-z0-9_.\-]*)             # Python distribution name
    \s*
    (?P<vrange>(?:-?\d\.\d+(?:-(?:\d\.\d+)?)?)?) # version range
    \s*
    (?P<dependency>(?:[a-z][^;]*)?)              # Debian dependency
    (?:  # optional upstream version -> Debian version translator
        ;\s*
        (?P<standard>PEP386)?                    # PEP-386 mode
        \s*
        (?P<rules>(?:s|tr|y).*)?                 # translator rules
    )?
    a/
    (?P<name>[A-Za-z][A-Za-z0-9_.]*)     # Python distribution name
    \s*
    (?P<enabled_extras>(?:\[[^\]]*\])?)  # ignored for now
    \s*
    \(?  # optional parenthesis
    (?:  # optional minimum/maximum version
        (?P<operator><=?|>=?|==|!=)
        \s*
        (?P<version>(\w|[-.])+)
        (?:  # optional interval minimum/maximum version
            \s*
            ,
            \s*
            (?P<operator2><=?|>=?|==|!=)
            \s*
            (?P<version2>(\w|[-.])+)
        )?
    )?
    \)?  # optional closing parenthesis
    z===<z<<>z>>c
Cst|ddv}xl|D]d}|jd}|jds|rJqtj|stjd|jddd|dSqWWd	QRXd
S)z Check if pydist file looks good.encodingzutf-8z
#z"invalid pydist data in file %s: %s/FNT)openstrip
startswith	PYDIST_REmatchlogerrorrsplit)fpathfpliner$'/usr/share/dh-python/dhpython/pydist.pyvalidateLs
	r&c

stj|}t|r'|g}ng}tj|trq|jfddtjDdj|}t|r|j	|i}x|D]}t
|dd}x|D]}|jd}|jds|rqt
j|}|s!td||f|j}t|d	}	t||d
|d<|dj|d<|d
r|d
jd|d
<n
g|d
<|j|	gj	|qWWdQRXqW|S)zLoad iformation about installed Python distributions.

    :param impl: interpreter implementation, f.e. cpython2, cpython3, pypy
    :type impl: str
    c3s|]}t|VqdS)N)r).0i)dnamer$r%	<genexpr>iszload.<locals>.<genexpr>z%/usr/share/dh-python/dist/{}_fallbackrzutf-8z
rzinvalid pydist line: %s (in %s)nameZvrangeversions
dependencyrules;N)rgetrr
rextendoslistdirformatappendrrrrsearch	Exception	groupdict	safe_namer
split
setdefault)
implfnameZto_checkZfbnameresultr!r"r#Zdistr+r$)r)r%loadZs:)




(r?FcCsP|p	i}tjd||t|tr:t|}tjdj|j\}}t	||}t
|}tj|}|stjdt
d||j}|d}|j|j}	|	rx(|	D] }
|r||
jd|krq|
dsdS|
djdr4|
dS|d	r|
d
sR|
dr|dd!krt|d}t|d	|
d|
d
}d|
d||f}
|dr
|dd"kr
t|d}t|d|
d|
d
}|
d|
d||f7}
|
S|r|d	r|dd#krt|d}d|
d||d	f}
|dr|dd$krt|d}|
d|
d||df7}
|
S|
d|krd||
dkr||
ddrdj|
d||
ddS|
dSqWt|jtt	|}tjd|td|dddtdt}|j\}}|jdkrt}t|d}x@|jdD]/}|jsq|j|jddqWt|dkrtj d|q|j!Sntjd||t"||}tjd |t	||t#|dS)%Nz,trying to find dependency for %s (python=%s)z([^!><= \(\)\[]+)(.*)z[please ask dh_python3 author to fix REQUIRES_RE or your upstream author to fix requires.txtzrequirement is not valid: %sr+r,r-)versionstandardr.operator!=z
%s (%s %s)Zversion2Z	operator2z, %s (%s %s)z{} ({})zinvoking dpkg -S %sz/usr/bin/dpkg -S %sshellTstdoutstderrrzutf-8
:rz,more than one package name found for %s distz'dpkg -S did not find package for %s: %szCannot find package that provides %s. Please add package that provides it to Build-Depends or add "%s %s" line to %s or add proper  dependency to Depends by hand and ignore this info.)NrD)NrD)NrD)NrD)$rdebug
isinstancestrrrecompilergroupsr9r?REQUIRES_REinfor7r8r0lowerendswith
_translate_op
_translater4r	ci_regexprrZcommunicate
returncodesetr:raddlenrpopsensible_pnamer)r<reqrAbdepaccept_upstream_versionsr+restdataZreq_dZdetailsitemovdZo2Zv2ZqueryZprocessrFrGr>r#Zpnamer$r$r%guess_dependencys	
$



& 
	
	rfcCsK|p	g}|pg}|p!g}t|j|}d}|ry|jryt|jddkry|jd}ttd|d|d|dt|dd}	dgdgd	gi}
d}}g}
t|d
dd}x|D]}|j	}|s|j
d
r(|
j|q|j
dr]|ddj	}|
j|q|r||krxd}q||krd}q||krd	}q|
j|qnd}|	d|}|r|
|j|d}q|
j|qWWdQRX|rG|rGt|ddd!}|jdd|
DWdQRX|
S)Nrr<rAr^r_FZdependsZ
recommendsZsuggestsrrzutf-8r[r]Twcss|]}|dVqdS)rHNr$)r'r(r$r$r%r*szparse_pydep.<locals>.<genexpr>r)
r	rrOrZgrouprrfgetattrrrrr5
writelines)r<r=r^ZoptionsZdepends_secZrecommends_secZsuggests_secZ
public_dirZverZ
guess_depsr>ZmodifiedZsectionZ	processedr"r#Z
result_keyr-r$r$r%parse_pydepsT-



			
	!rmcCstjdjd|jS)zEmulate distribute's safe_name.z[^A-Za-z0-9.]+_)rMrNsubrR)r+r$r$r%r9sr9cCsQt|jdd}|jdr7|dd}djt||jS)z(Guess Debian package name from Egg name.rn-zpython-Nz{}-{})r9replacerr4rrR)r<Zegg_namer$r$r%r\sr\cCs djdd|jDS)z'Return case insensitive dpkg -S regexp.css7|]-}|jr+d|j|fn|VqdS)z[%s%s]N)isalphaupper)r'r(r$r$r%r*$szci_regexp.<locals>.<genexpr>)rrR)r+r$r$r%rV"srVz[-.]?(alpha|beta|rc|dev|a|b|c)z\$(\d+)cCstjd|S)zdConvert Perl RE patterns used in uscan to Python's

    >>> print(_pl2py('foo$3'))
    foo\g<3>
    z\\g<\1>)GROUP_REro)patternr$r$r%_pl2py+srxc	CslxG|D]?}|jd
r~|jdr1dnd}||ddj||}|jtj|d|d}q|jdr6|ddj|d}tj|d}d}|ddr|d}d|krd}d	|krtj|dtj}|jt	|d||}qt
jd
|qW|dkrhtjd|}|S)a>Translate Python version into Debian one.

    >>> _translate('1.C2betac', ['s/c//gi'], None)
    '1.2beta'
    >>> _translate('5-fooa1.2beta3-fooD',
    ...     ['s/^/1:/', 's/-foo//g', 's:([A-Z]):+$1:'], 'PEP386')
    '1:5~a1.2~beta3+D'
    >>> _translate('x.y.x.z', ['tr/xy/ab/', 'y,z,Z,'], None)
    'a.b.a.Z'
    tryrNrsgr(zunknown rule ignored: %sZPEP386z~\g<1>)ryrz)
rr:	translaterL	maketransrMrNIrorxrwarn
PRE_VER_RE)	rAr.rBZruleposZtmprwcountflagsr$r$r%rU4s(
!&
"rUcCstj||S)zTranslate Python version operator into Debian one.

    >>> _translate_op('==')
    '='
    >>> _translate_op('<')
    '<<'
    >>> _translate_op('<=')
    '<='
    )DEB_VERS_OPSr0)rCr$r$r%rTYs
rT)*Zloggingr2rM	functoolsros.pathrrr
subprocessrrrrr	r
rrZdhpython.versionr
rZdhpython.toolsrZ	getLoggerrrNVERBOSErrPrr&r?rfrmr9r\rVrrvrxrUrTr$r$r$r%<module>s<(+Z4	%