[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
This commit is contained in:
pre-commit-ci[bot] 2024-04-13 00:00:18 +00:00
parent 72ad6dc953
commit f4cd1ba0d6
813 changed files with 66015 additions and 58839 deletions

View file

@ -1,12 +1,17 @@
from __future__ import annotations
import os
import textwrap
from optparse import Values
from typing import Any, List
from typing import Any
from typing import List
import pip._internal.utils.filesystem as filesystem
from pip._internal.cli.base_command import Command
from pip._internal.cli.status_codes import ERROR, SUCCESS
from pip._internal.exceptions import CommandError, PipError
from pip._internal.cli.status_codes import ERROR
from pip._internal.cli.status_codes import SUCCESS
from pip._internal.exceptions import CommandError
from pip._internal.exceptions import PipError
from pip._internal.utils.logging import getLogger
logger = getLogger(__name__)
@ -39,34 +44,34 @@ class CacheCommand(Command):
def add_options(self) -> None:
self.cmd_opts.add_option(
"--format",
action="store",
dest="list_format",
default="human",
choices=("human", "abspath"),
help="Select the output format among: human (default) or abspath",
'--format',
action='store',
dest='list_format',
default='human',
choices=('human', 'abspath'),
help='Select the output format among: human (default) or abspath',
)
self.parser.insert_option_group(0, self.cmd_opts)
def run(self, options: Values, args: List[str]) -> int:
def run(self, options: Values, args: list[str]) -> int:
handlers = {
"dir": self.get_cache_dir,
"info": self.get_cache_info,
"list": self.list_cache_items,
"remove": self.remove_cache_items,
"purge": self.purge_cache,
'dir': self.get_cache_dir,
'info': self.get_cache_info,
'list': self.list_cache_items,
'remove': self.remove_cache_items,
'purge': self.purge_cache,
}
if not options.cache_dir:
logger.error("pip cache commands can not function since cache is disabled.")
logger.error('pip cache commands can not function since cache is disabled.')
return ERROR
# Determine action
if not args or args[0] not in handlers:
logger.error(
"Need an action (%s) to perform.",
", ".join(sorted(handlers)),
'Need an action (%s) to perform.',
', '.join(sorted(handlers)),
)
return ERROR
@ -81,21 +86,21 @@ class CacheCommand(Command):
return SUCCESS
def get_cache_dir(self, options: Values, args: List[Any]) -> None:
def get_cache_dir(self, options: Values, args: list[Any]) -> None:
if args:
raise CommandError("Too many arguments")
raise CommandError('Too many arguments')
logger.info(options.cache_dir)
def get_cache_info(self, options: Values, args: List[Any]) -> None:
def get_cache_info(self, options: Values, args: list[Any]) -> None:
if args:
raise CommandError("Too many arguments")
raise CommandError('Too many arguments')
num_http_files = len(self._find_http_files(options))
num_packages = len(self._find_wheels(options, "*"))
num_packages = len(self._find_wheels(options, '*'))
http_cache_location = self._cache_dir(options, "http")
wheels_cache_location = self._cache_dir(options, "wheels")
http_cache_location = self._cache_dir(options, 'http')
wheels_cache_location = self._cache_dir(options, 'wheels')
http_cache_size = filesystem.format_directory_size(http_cache_location)
wheels_cache_size = filesystem.format_directory_size(wheels_cache_location)
@ -108,7 +113,7 @@ class CacheCommand(Command):
Wheels location: {wheels_cache_location}
Wheels size: {wheels_cache_size}
Number of wheels: {package_count}
"""
""",
)
.format(
http_cache_location=http_cache_location,
@ -123,35 +128,35 @@ class CacheCommand(Command):
logger.info(message)
def list_cache_items(self, options: Values, args: List[Any]) -> None:
def list_cache_items(self, options: Values, args: list[Any]) -> None:
if len(args) > 1:
raise CommandError("Too many arguments")
raise CommandError('Too many arguments')
if args:
pattern = args[0]
else:
pattern = "*"
pattern = '*'
files = self._find_wheels(options, pattern)
if options.list_format == "human":
if options.list_format == 'human':
self.format_for_human(files)
else:
self.format_for_abspath(files)
def format_for_human(self, files: List[str]) -> None:
def format_for_human(self, files: list[str]) -> None:
if not files:
logger.info("Nothing cached.")
logger.info('Nothing cached.')
return
results = []
for filename in files:
wheel = os.path.basename(filename)
size = filesystem.format_file_size(filename)
results.append(f" - {wheel} ({size})")
logger.info("Cache contents:\n")
logger.info("\n".join(sorted(results)))
results.append(f' - {wheel} ({size})')
logger.info('Cache contents:\n')
logger.info('\n'.join(sorted(results)))
def format_for_abspath(self, files: List[str]) -> None:
def format_for_abspath(self, files: list[str]) -> None:
if not files:
return
@ -159,48 +164,48 @@ class CacheCommand(Command):
for filename in files:
results.append(filename)
logger.info("\n".join(sorted(results)))
logger.info('\n'.join(sorted(results)))
def remove_cache_items(self, options: Values, args: List[Any]) -> None:
def remove_cache_items(self, options: Values, args: list[Any]) -> None:
if len(args) > 1:
raise CommandError("Too many arguments")
raise CommandError('Too many arguments')
if not args:
raise CommandError("Please provide a pattern")
raise CommandError('Please provide a pattern')
files = self._find_wheels(options, args[0])
no_matching_msg = "No matching packages"
if args[0] == "*":
no_matching_msg = 'No matching packages'
if args[0] == '*':
# Only fetch http files if no specific pattern given
files += self._find_http_files(options)
else:
# Add the pattern to the log message
no_matching_msg += ' for pattern "{}"'.format(args[0])
no_matching_msg += f' for pattern "{args[0]}"'
if not files:
logger.warning(no_matching_msg)
for filename in files:
os.unlink(filename)
logger.verbose("Removed %s", filename)
logger.info("Files removed: %s", len(files))
logger.verbose('Removed %s', filename)
logger.info('Files removed: %s', len(files))
def purge_cache(self, options: Values, args: List[Any]) -> None:
def purge_cache(self, options: Values, args: list[Any]) -> None:
if args:
raise CommandError("Too many arguments")
raise CommandError('Too many arguments')
return self.remove_cache_items(options, ["*"])
return self.remove_cache_items(options, ['*'])
def _cache_dir(self, options: Values, subdir: str) -> str:
return os.path.join(options.cache_dir, subdir)
def _find_http_files(self, options: Values) -> List[str]:
http_dir = self._cache_dir(options, "http")
return filesystem.find_files(http_dir, "*")
def _find_http_files(self, options: Values) -> list[str]:
http_dir = self._cache_dir(options, 'http')
return filesystem.find_files(http_dir, '*')
def _find_wheels(self, options: Values, pattern: str) -> List[str]:
wheel_dir = self._cache_dir(options, "wheels")
def _find_wheels(self, options: Values, pattern: str) -> list[str]:
wheel_dir = self._cache_dir(options, 'wheels')
# The wheel filename format, as specified in PEP 427, is:
# {distribution}-{version}(-{build})?-{python}-{abi}-{platform}.whl
@ -218,6 +223,6 @@ class CacheCommand(Command):
# match the hyphen before the version, followed by anything else.
#
# PEP 427: https://www.python.org/dev/peps/pep-0427/
pattern = pattern + ("*.whl" if "-" in pattern else "-*.whl")
pattern = pattern + ('*.whl' if '-' in pattern else '-*.whl')
return filesystem.find_files(wheel_dir, pattern)