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

            # Things that are DeprecationWarnings will be removed in the very
            # next version of pip. We want these to be more obvious so we
            # use the ERROR logging level while the PendingDeprecationWarnings
            # are still have at least 2 versions to go until they are removed
            # so they can just be warnings.
            if issubclass(category, DeprecationWarning):
                logger.error(log_message)
            else:
                logger.warning(log_message)
        else:
            _warnings_showwarning(
                message, category, filename, lineno, file, line,
            )
dataset/ETHPy150Open anzev/hedwig/build/pip/pip/utils/deprecation.py/_showwarning/original