관리-도구
편집 파일: locators.cpython-38.opt-1.pyc
U ��.e_� � @ sD d dl Z d dlmZ d dlZd dlZd dlZd dlZd dlZzd dlZW n e k rd d dl ZY nX d dlZddlm Z ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlm Z m!Z!m"Z" ddl#m$Z$m%Z% ddl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ dd l0m1Z1m2Z2 dd l3m4Z4m5Z5 e�6e7�Z8e�9d�Z:e�9dej;�Z<e�9d �Z=dZ>d-dd�Z?G dd� de�Z@G dd� deA�ZBG dd� deB�ZCG dd� deB�ZDG dd� deA�ZEG dd� deB�ZFG dd� deB�ZGG dd � d eB�ZHG d!d"� d"eB�ZIG d#d$� d$eB�ZJeJeH� eFd%d&d'�d(d)�ZKeKjLZLe�9d*�ZMG d+d,� d,eA�ZNdS ).� N)�BytesIO� )�DistlibException)�urljoin�urlparse� urlunparse�url2pathname�pathname2url�queue�quote�unescape�string_types�build_opener�HTTPRedirectHandler� text_type�Request� HTTPError�URLError)�Distribution�DistributionPath� make_dist)�Metadata�MetadataInvalidError) �cached_property�parse_credentials�ensure_slash�split_filename�get_project_data�parse_requirement�parse_name_and_version�ServerProxy�normalize_name)� get_scheme�UnsupportedVersionError)�Wheel� is_compatiblez^(\w+)=([a-f0-9]+)z;\s*charset\s*=\s*(.*)\s*$ztext/html|application/x(ht)?mlzhttps://pypi.org/pypic C s6 | dkrt } t| dd�}z|�� W �S |d�� X dS )z� Return all distribution names known by an index. :param url: The URL of the index. :return: A list of all known distribution names. N� @��timeout�close)� DEFAULT_INDEXr � list_packages)�url�client� r. �@/usr/lib/python3.8/site-packages/pip/_vendor/distlib/locators.py�get_all_distribution_names) s r0 c @ s$ e Zd ZdZdd� Ze Z ZZdS )�RedirectHandlerzE A class to work around a bug in some Python 3.2.x releases. c C s� d }dD ]}||kr|| } q"q|d kr.d S t |�}|jdkrnt|�� |�}t|d�rf|�||� n|||<