관리-도구
편집 파일: locators.cpython-36.pyc
3 �Re�� � @ sD d dl Z d dlmZ d dlZd dlZd dlZd dlZd dlZyd 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 ej6e7�Z8ej9d�Z:ej9dej;�Z<ej9d �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)�ZKeKjLZLej9d*�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 s2 | dkrt } t| dd�}z|j� 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. Ng @)�timeout�close)� DEFAULT_INDEXr � list_packages)�url�client� r, ��/builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/distlib/locators.py�get_all_distribution_names) s r. 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 }xdD ]}||kr || }P q W |d kr0d S t |�}|jdkrpt|j� |�}t|d�rh|j||� n|||<