관리-도구
편집 파일: lazy_wheel.cpython-39.pyc
a ��Re� � @ s� d Z ddgZddlmZmZ ddlmZ ddlmZ ddl m Z mZmZm Z mZmZ ddlmZmZ dd lmZ dd lmZmZ ddlmZmZmZ ddlmZ dd lmZm Z m!Z! G dd� de"�Z#e$e$eed�dd�Z%G dd� d�Z&dS )zLazy ZIP over HTTP�HTTPRangeRequestUnsupported�dist_from_wheel_url� )�bisect_left�bisect_right)�contextmanager)�NamedTemporaryFile)�Any�Dict�Iterator�List�Optional�Tuple)� BadZipfile�ZipFile)�canonicalize_name)�CONTENT_CHUNK_SIZE�Response)�BaseDistribution�MemoryWheel�get_wheel_distribution)� PipSession)�HEADERS�raise_for_status�response_chunksc @ s e Zd ZdS )r N)�__name__� __module__�__qualname__� r r ��/builddir/build/BUILDROOT/alt-python39-pip-21.3.1-2.el8.x86_64/opt/alt/python39/lib/python3.9/site-packages/pip/_internal/network/lazy_wheel.pyr s )�name�url�session�returnc C sH t ||��*}t|j|�}t|t| ��W d � S 1 s:0 Y dS )a Return a distribution object from the given wheel URL. This uses HTTP range requests to only fetch the potion of the wheel containing metadata, just enough for the object to be constructed. If such requests are not supported, HTTPRangeRequestUnsupported is raised. N)�LazyZipOverHTTPr r r r )r r r! �zf�wheelr r r r s c @ sz e Zd ZdZefeeedd�dd�Ze ed�dd��Z e ed�d d ��Zed�dd�Z dd�d d�Ze ed�dd��Zd3eed�dd�Zed�dd�Zd4eeed�dd�Zed�dd�Zd5ee ed�dd�Zed�dd �Zd d�d!d"�Zeee d#�d$d%�Zeed d�d&d'��Zdd�d(d)�Zefeee eef e!d*�d+d,�Z"eeeeee#eef d-�d.d/�Z$eedd0�d1d2�Z%dS )6r# a File-like object mapped to a ZIP file over HTTP. This uses HTTP range requests to lazily fetch the file's content, which is supposed to be fed to ZipFile. If such requests are not supported by the server, raise HTTPRangeRequestUnsupported during initialization. N)r r! � chunk_sizer"