3 Re @sdZddlmZddlZddlZddlmZddlmZ ddl m Z e rXddl m Z mZdZGd d d eZdadd d Zd dZdddZdS)zN A module that implements tooling to enable easy warnings about deprecations. )absolute_importN)parse) __version__)MYPY_CHECK_RUNNING)AnyOptionalz DEPRECATION: c@s eZdZdS)PipDeprecationWarningN)__name__ __module__ __qualname__r r /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el9.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/utils/deprecation.pyrsrcCsZ|dk r$tdk rVt||||||n2t|trDtjd}|j|nt||||||dS)Nzpip._internal.deprecations)_original_showwarning issubclassrlogging getLoggerwarning)messagecategoryfilenamelinenofilelineloggerr r r _showwarning!s   rcCs(tjdtddtdkr$tjatt_dS)NdefaultT)append)warnings simplefilterrr showwarningrr r r r install_warning_logger2sr cCsh|tdf|df|df|dfg}djdd|D}|dk rTttt|krTt|tj|td d dS) aHelper to deprecate existing functionality. reason: Textual reason shown to the user about why this functionality has been deprecated. replacement: Textual suggestion shown to the user about what alternative functionality they can use. gone_in: The version of pip does this functionality should get removed in. Raises errors if pip's current version is greater than or equal to this. issue: Issue number on the tracker that would serve as a useful place for users to find related discussion and provide feedback. Always pass replacement, gone_in and issue as keyword arguments for clarity at the call site. z{}z2pip {} will remove support for this functionality.zA possible replacement is {}.zPYou can find discussion regarding this at https://github.com/pypa/pip/issues/{}. css$|]\}}|dk r|j|VqdS)N)format).0valtemplater r r aszdeprecated..N)r stacklevel)DEPRECATION_MSG_PREFIXjoinrcurrent_versionrrwarn)reason replacementgone_inissue sentencesrr r r deprecated>s r2)NN)N)__doc__ __future__rrrpip._vendor.packaging.versionrpiprr+pip._internal.utils.typingrtypingrrr)Warningrrrr r2r r r r s