3
Re @ s d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl
mZ erXddlm
Z
mZ dZG d d
d
eZdadddZd
d ZdddZdS )zN
A module that implements tooling to enable easy warnings about deprecations.
)absolute_importN)parse)__version__)MYPY_CHECK_RUNNING)AnyOptionalz
DEPRECATION: c @ s e Zd ZdS )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.pyr s r c C sZ |d k r$t d k rVt | ||||| n2t|trDtjd}|j| nt | ||||| d S )Nzpip._internal.deprecations)_original_showwarning
issubclassr logging getLoggerwarning)messagecategoryfilenamelinenofilelineloggerr r r
_showwarning! s
r c C s( t jdtdd td kr$t jatt _d S )NdefaultT)append)warningssimplefilterr r showwarningr r r r r
install_warning_logger2 s r c C sh | t d f|df|df|dfg}djdd |D }|dk rTttt|krTt|tj|td d
dS )a Helper 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/{}. c s s$ | ]\}}|d k r|j |V qd S )N)format).0valtemplater r r