Your IP : 3.147.77.119


Current Path : /opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/
Upload File :
Current File : //opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyc

�
�Rec@@s~dZddlmZddlZddlmZddlmZddlm	Z	ddl
mZddlm
Z
mZdd	lmZdd
lmZddlmZer�ddlmZdd
lmZmZddl
mZne
rddlmZnddlmZdZeje�Z defd��YZ!d�Z"d�Z#d�Z$d�Z%d�Z&d�Z'd�Z(dS(s0Support functions for working with wheel files.
i(tabsolute_importN(tParser(tZipFile(tcanonicalize_name(tDistInfoDistribution(tPY2t
ensure_str(tUnsupportedWheel(tDictMetadata(tMYPY_CHECK_RUNNING(tMessage(tDicttTuple(tDistribution(t
BadZipfile(t
BadZipFileit
WheelMetadatacB@s eZdZd�Zd�ZRS(saMetadata provider that maps metadata decoding exceptions to our
    internal exception type.
    cC@s#tt|�j|�||_dS(N(tsuperRt__init__t_wheel_name(tselftmetadatat
wheel_name((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyR(scC@sOytt|�j|�SWn.tk
rJ}tdj|j|���nXdS(Ns"Error decoding metadata for {}: {}(RRtget_metadatatUnicodeDecodeErrorRtformatR(Rtnamete((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyR-s(t__name__t
__module__t__doc__RR(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyR$s	c
C@s�t||�\}}g|j�D]$}|jdj|��r"|^q"}i}x}|D]u}t|�}	|	jdd�\}}
yt||	�||
<WqYtk
r�}tdj|t|����qYXqYWt	||�}t
d|d|d|�S(saGet a pkg_resources distribution given a wheel.

    :raises UnsupportedWheel: on any errors
    s{}/t/is{} has an invalid wheel, {}tlocationRtproject_name(tparse_wheeltnamelistt
startswithRRtsplittread_wheel_metadata_fileRtstrRR(
t	wheel_zipRR tinfo_dirt_tptmetadata_filest
metadata_texttpatht	full_patht
metadata_nameRR((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyt$pkg_resources_distribution_for_wheel:s7
#cC@syy.t||�}t||�}t|�}Wn1tk
ra}tdj|t|����nXt||�||fS(s�Extract information from the provided wheel, ensuring it meets basic
    standards.

    Returns the name of the .dist-info directory and the parsed WHEEL metadata.
    s{} has an invalid wheel, {}(twheel_dist_info_dirtwheel_metadatat
wheel_versionRRR'tcheck_compatibility(R(RR)RtversionR((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyR"_s
cC@s�td�|j�D��}g|D]}|jd�r#|^q#}|sYtd��nt|�dkr�tdjdj|����n|d}t|�}t|�}|j|�s�tdj||���nt	|�S(	s�Returns the name of the contained .dist-info directory.

    Raises AssertionError or UnsupportedWheel if not found, >1 found, or
    it doesn't match the provided name.
    cs@s%|]}|jdd�dVqdS(RiiN(R%(t.0R+((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pys	<genexpr>|ss
.dist-infos.dist-info directory not foundis)multiple .dist-info directories found: {}s, is2.dist-info directory {!r} does not start with {!r}(
tsetR#tendswithRtlenRtjoinRR$R(tsourceRtsubdirstst	info_dirsR)t
info_dir_nametcanonical_name((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyR2ts (
cC@sLy|j|�SWn4tttfk
rG}tdj||���nXdS(Nscould not read {!r} file: {!r}(treadRtKeyErrortRuntimeErrorRR(R<R.R((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyR&�s
cC@sldj|�}t||�}yt|�}Wn+tk
r[}tdj||���nXt�j|�S(siReturn the WHEEL metadata of an extracted wheel, if possible.
    Otherwise, raise UnsupportedWheel.
    s{}/WHEELserror decoding {!r}: {!r}(RR&RRRRtparsestr(R<t
dist_info_dirR.twheel_contentst
wheel_textR((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyR3�scC@s~|d}|dkr%td��n|j�}y ttt|jd���SWn&tk
rytdj|���nXdS(sbGiven WHEEL metadata, return the parsed Wheel-Version.
    Otherwise, raise UnsupportedWheel.
    s
Wheel-VersionsWHEEL is missing Wheel-Versiont.sinvalid Wheel-Version: {!r}N(	tNoneRtstripttupletmaptintR%t
ValueErrorR(t
wheel_datatversion_textR6((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyR4�s
 
cC@sv|dtdkrAtdj|djtt|�����n1|tkrrtjddjtt|���ndS(s�Raises errors or warns if called with an incompatible Wheel-Version.

    pip should refuse to install a Wheel-Version that's a major series
    ahead of what it's compatible with (e.g 2.0 > 1.1); and warn when
    installing a version only minor version ahead (e.g 1.2 > 1.1).

    version: a 2-tuple representing a Wheel-Version (Major, Minor)
    name: name of wheel or package to raise exception about

    :raises UnsupportedWheel: when an incompatible Wheel-Version is given
    isB{}'s Wheel-Version ({}) is not compatible with this version of pipRIs*Installing from a newer Wheel-Version (%s)N(tVERSION_COMPATIBLERRR;RMR'tloggertwarning(R6R((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyR5�s
$(ii()Rt
__future__Rtloggingtemail.parserRtzipfileRtpip._vendor.packaging.utilsRtpip._vendor.pkg_resourcesRtpip._vendor.sixRRtpip._internal.exceptionsRt!pip._internal.utils.pkg_resourcesRtpip._internal.utils.typingR	t
email.messageR
ttypingRRR
RRRRt	getLoggerRRSRR1R"R2R&R3R4R5(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/wheel.pyt<module>s6	%		&			

?>