o
ai @ 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#de$de$dedefddZ%G dd dZ&dS )zLazy ZIP over HTTPHTTPRangeRequestUnsupporteddist_from_wheel_url )bisect_leftbisect_right)contextmanager)NamedTemporaryFile)AnyDictIteratorListOptionalTuple)
BadZipfileZipFile)canonicalize_name)CONTENT_CHUNK_SIZEResponse)BaseDistributionMemoryWheelget_wheel_distribution)
PipSession)HEADERSraise_for_statusresponse_chunksc @ s e Zd ZdS )r N)__name__
__module____qualname__ r r /builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/network/lazy_wheel.pyr s nameurlsessionreturnc C sH t ||}t|j|}t|t| W d S 1 sw 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! zfwheelr r r r s $c
@ s e Zd ZdZefdedededdfddZe defd d
Z
e defddZdefd
dZ
d8ddZe defddZd9dedefddZdefddZd:dededefddZdefddZd;dee defd d!Zdefd"d#Zd