OwlCyberSecurity - MANAGER
Edit File: package_finder.cpython-311.pyc
� p�Fh.� � � � d Z ddlZddlZddlZddlZddlZddlmZ ddlm Z m Z mZmZm Z mZmZmZmZ ddlmZ ddlmZ ddlmZ ddlmZmZ dd lmZ dd lmZmZm Z m!Z! ddl"m#Z#m$Z$ ddl%m&Z& dd l'm(Z( ddl)m*Z* ddl+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@ ddlAmBZB e rddlCmDZD g d�ZE e6eF� � ZGeed eeHeIf f ZJeeHeHeHeeeH eJf ZK d:de*d eeHeHeHf d!eLd"eLfd#�ZM G d$� d%ejN � � ZO G d&� d'� � ZPd(e e& d)ee: d*eId"e e& fd+�ZQe G d,� d-� � � � ZR ed.�/� � G d0� d1� � � � ZS G d2� d3� � ZT G d4� d5� � ZUd6eId7eId"eHfd8�ZVd6eId7eId"eeI fd9�ZWdS );z!Routines related to PyPI, indexes� N)� dataclass) � TYPE_CHECKING�Dict� FrozenSet�Iterable�List�Optional�Set�Tuple�Union)� specifiers)�Tag)�canonicalize_name)�InvalidVersion�_BaseVersion)�parse)�BestVersionAlreadyInstalled�DistributionNotFound�InvalidWheelFilename�UnsupportedWheel)� LinkCollector�parse_links)�InstallationCandidate)� FormatControl)�Link)�SearchScope)�SelectionPreferences)�TargetPython)�Wheel)�InstallRequirement)� getLogger)�WHEEL_EXTENSION)�Hashes)� indent_log)�build_netloc)�check_requires_python)�SUPPORTED_EXTENSIONS)� TypeGuard)r �BestCandidateResult� PackageFinder� F�link�version_info�ignore_requires_python�returnc � � t | j |�� � }|spd� t t |� � � � }|s$t � d|| j | � � dS t � d|| j | � � n6# t j $ r$ t � d| j | � � Y nw xY wdS )aa Return whether the given Python version is compatible with a link's "Requires-Python" value. :param version_info: A 3-tuple of ints representing the Python major-minor-micro version to check. :param ignore_requires_python: Whether to ignore the "Requires-Python" value if the given Python version isn't compatible. )r- �.z4Link requires a different Python (%s not in: %r): %sFzBIgnoring failed Requires-Python check (%s not in: %r) for link: %sz2Ignoring invalid Requires-Python (%r) for link: %sT) r&