관리-도구
편집 파일: collector.cpython-38.pyc
U ʗReMO � @ sL d Z ddlZddlZddlZddlZddlZddlZddlZddl Z ddl ZddlZddl ZddlmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZ ddlm Z ddl!m"Z" ddl#m$Z$m%Z% dd l&m'Z' dd l(m)Z) ddl*m+Z+ ddl,m-Z- dd l.m/Z/ ddl0m1Z1 ddl2m3Z3m4Z4 ddl5m6Z6 ddl7m8Z8m9Z9m:Z: e�r\ddlm;Z; ne<Z;e�=e>�Z?ej@jAjBZCeeDeDf ZEeDeeD d�dd�ZFG dd� deG�ZHe"dd�dd�ZIG dd� deG�ZJeDe-dd�dd �ZKeDe-e"d�d!d"�ZLeEeeD d#�d$d%�ZMeDeDd&�d'd(�ZNeDeDd&�d)d*�ZOe �Pd+e jQ�ZReDeSeDd,�d-d.�ZTeDeDd�d/d0�ZUeeDeeD f eDeDee) d1�d2d3�ZVG d4d5� d5�ZWG d6d7� d7e;�ZXeXeXd8�d9d:�ZYeYd;ee) d<�d=d>��ZZG d?d;� d;�Z[G d@dA� dAe�Z\dQe)eeDeGf eedB ddC�dDdE�Z]dRe"eSe[dG�dHdI�Z^dSe)ee- ed; dJ�dKdL�Z_G dMdN� dNe�Z`G dOdP� dP�ZadS )TzO 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)�pairwise�redact_auth_from_url)�vcs� )�CandidatesFromPage� LinkSource�build_source)�Protocol��url�returnc C s6 t jD ]*}| �� �|�r| t|� dkr| S qdS )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"