File: D:/Python311/Lib/site-packages/pip/_internal/index/__pycache__/sources.cpython-311.pyc
�
�mi�! � �� � d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl m
Z
d dlmZm
Z
mZmZmZ d dlmZ d dlmZ d d lmZmZ d d
lmZ ej e� � Zee Zee Ze
egee f Ze
ege f Z! G d� d� � Z"d&d�Z# G d� d� � Z$ G d� de"� � Z% G d� de"� � Z& G d� de"� � Z' G d� de"� � Z(d'd%�Z)dS )(� )�annotationsN)�defaultdict)�Iterable)�Callable)�InvalidSdistFilename�InvalidWheelFilename�canonicalize_name�parse_sdist_filename�parse_wheel_filename)�InstallationCandidate)�Link)�path_to_url�url_to_path)�is_urlc �6 � e Zd Zed d�� � Zd
d�Zdd�ZdS )�
LinkSource�return�Link | Nonec � � t � � �)z,Returns the underlying link, if there's one.��NotImplementedError��selfs �=D:\Python311\Lib\site-packages\pip/_internal/index/sources.py�linkzLinkSource.link s � � "�#�#�#� �FoundCandidatesc � � t � � �)z9Candidates found by parsing an archive listing HTML file.r r s r �page_candidateszLinkSource.page_candidates% � � �!�#�#�#r �
FoundLinksc � � t � � �)z,Links found by specifying archives directly.r r s r �
file_linkszLinkSource.file_links) r r N�r r �r r �r r! )�__name__�
__module__�__qualname__�propertyr r r# � r r r r sZ � � � � � �
�$� $� $� �X�$�$� $� $� $�$� $� $� $� $� $r r �file_url�strr �boolc �B � t j | d�� � d dk S )NF)�strictr z text/html)� mimetypes�
guess_type)r, s r �
_is_html_filer3 . s"