관리-도구
편집 파일: collector.cpython-312.pyc
� G��ex@ � �" � d Z ddlZddlZddlZddlZddlZddlZddlZddl Z ddlZ ddlm Z ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddl m!Z!m"Z" dd l#m$Z$ dd l%m&Z& ddl'm(Z( ddl)m*Z* dd l+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5m6Z6 erddlm7Z7 ne8Z7 ejr e:� Z;ee<e<f Z=de<dee< fd�Z> G d� de?� Z@deddfd�ZA G d� de?� ZBde<de*ddfd�ZCde<de*defd�ZDd e=dee< fd!�ZE G d"� d#� ZF G d$� d%e7� ZGd&eGdeGfd'�ZHeHd(d)dee& fd*�� ZI G d+� d)� ZJ G d,� d-e � ZK d:d.e&d/ee<e?f d0eed1 ddfd2�ZL d;ded3eMdeJfd4�ZNd.e&de*ded) fd5�ZO G d6� d7e� ZP G d8� d9� ZQy)<zO The main purpose of this module is to expose LinkCollector.collect_sources(). � N)� HTMLParser)�Values)� TYPE_CHECKING�Callable�Dict�Iterable�List�MutableMapping� NamedTuple�Optional�Sequence�Tuple�Union)�requests)�Response)� RetryError�SSLError)�NetworkConnectionError)�Link)�SearchScope)� PipSession)�raise_for_status)�is_archive_file��redact_auth_from_url)�vcs� )�CandidatesFromPage� LinkSource�build_source)�Protocol�url�returnc � � t j D ]6 }| j � j |� s�#| t |� dv s�4|c S y)zgLook for VCS schemes in the URL. Returns the matched VCS scheme, or None if there's no match. z+:N)r �schemes�lower� startswith�len)r"