""" A module that implements tooling to enable easy warnings about deprecations. """ from __future__ import absolute_import import logging import warnings class PipDeprecationWarning(Warning): pass class Pending(object): pass class RemovedInPip10Warning(PipDeprecationWarning): pass class RemovedInPip11Warning(PipDeprecationWarning, Pending): pass class Python26DeprecationWarning(PipDeprecationWarning): pass # Warnings <-> Logging Integration _warnings_showwarning = None def _showwarning(message, category, filename, lineno, file=None, line=None): if file is not None: if _warnings_showwarning is not None: _warnings_showwarning( message, category, filename, lineno, file, line, ) else: if issubclass(category, PipDeprecationWarning): # We use a specially named logger which will handle all of the # deprecation messages for pip. logger = logging.getLogger("pip.deprecations") # This is purposely using the % formatter here instead of letting # the logging module handle the interpolation. This is because we # want it to appear as if someone typed this entire message out. log_message = "DEPRECATION: %s" % message # PipDeprecationWarnings that are Pending still have at least 2 # versions to go until they are removed so they can just be # warnings. Otherwise, they will be removed in the very next # version of pip. We want these to be more obvious so we use the # ERROR logging level. if issubclass(category, Pending): logger.warning(log_message) else: logger.error(log_message) else: _warnings_showwarning( message, category, filename, lineno, file, line, ) def install_warning_logger(): # Enable our Deprecation Warnings warnings.simplefilter("default", PipDeprecationWarning, append=True) global _warnings_showwarning if _warnings_showwarning is None: _warnings_showwarning = warnings.showwarning warnings.showwarning = _showwarning
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 27.11 KB | 0644 |
|
appdirs.py | File | 8.6 KB | 0644 |
|
build.py | File | 1.28 KB | 0644 |
|
deprecation.py | File | 2.18 KB | 0644 |
|
encoding.py | File | 971 B | 0644 |
|
filesystem.py | File | 899 B | 0644 |
|
glibc.py | File | 2.87 KB | 0644 |
|
hashes.py | File | 2.8 KB | 0644 |
|
logging.py | File | 3.25 KB | 0644 |
|
outdated.py | File | 5.85 KB | 0644 |
|
packaging.py | File | 2.03 KB | 0644 |
|
setuptools_build.py | File | 278 B | 0644 |
|
ui.py | File | 11.33 KB | 0644 |
|