σ οRec@@sψddlmZddlZddlmZddlmZddlmZm Z ddl m Z ddl m Z ddlmZerΑdd lmZmZdd lmZdd lmZnejeƒZd „Zd „Zd„Zd„ZdS(i(tabsolute_importN(t FeedParser(t pkg_resources(t specifierstversion(tNoneMetadataError(t display_path(tMYPY_CHECK_RUNNING(tOptionaltTuple(tMessage(t DistributioncC@sJ|dkrtStj|ƒ}tjdjtt|ƒƒƒ}||kS(s˜ Check if the given Python version matches a "Requires-Python" specifier. :param version_info: A 3-tuple of ints representing a Python major-minor-micro version to check (e.g. `sys.version_info[:3]`). :return: `True` if the given Python version satisfies the requirement. Otherwise, return `False`. :raises InvalidSpecifier: If `requires_python` has an invalid format. t.N( tNonetTrueRt SpecifierSetRtparsetjointmaptstr(trequires_pythont version_infotrequires_python_specifiertpython_version((sŒ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/packaging.pytcheck_requires_pythons !cC@s½d}t|tjƒr9|j|ƒr9|j|ƒ}nF|jdƒr`d}|j|ƒ}ntjdt|jƒƒd}|dkrt ||ƒ‚nt ƒ}|j |ƒ|j ƒS(s :raises NoneMetadataError: if the distribution reports `has_metadata()` True but `get_metadata()` returns None. tMETADATAsPKG-INFOsNo metadata found in %stN(t isinstanceRtDistInfoDistributiont has_metadatat get_metadatatloggertwarningRtlocationR RRtfeedtclose(tdistt metadata_nametmetadatat feed_parser((sŒ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/packaging.pyR,s   cC@s:t|ƒ}|jdƒ}|dk r6t|ƒ}n|S(s_ Return the "Requires-Python" metadata for a distribution, or None if not present. sRequires-PythonN(RtgetR R(R$t pkg_info_dictR((sŒ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/packaging.pytget_requires_pythonGs   cC@sF|jdƒrBx0|jdƒD]}|jƒr|jƒSqWndS(Nt INSTALLERR(Rtget_metadata_lineststrip(R$tline((sŒ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/packaging.pyt get_installerXs  (t __future__Rtloggingt email.parserRt pip._vendorRtpip._vendor.packagingRRtpip._internal.exceptionsRtpip._internal.utils.miscRtpip._internal.utils.typingRttypingRR t email.messageR tpip._vendor.pkg_resourcesR t getLoggert__name__RRRR*R/(((sŒ/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/packaging.pyts