Enable flake8-logging-format

This commit is contained in:
Nguyễn Gia Phong 2020-06-17 22:53:30 +07:00
parent 05bdc69aa3
commit f8b06a3906
16 changed files with 44 additions and 56 deletions

View File

@ -21,7 +21,8 @@ repos:
hooks:
- id: flake8
additional_dependencies: [
'flake8-bugbear==20.1.4'
'flake8-bugbear==20.1.4',
'flake8-logging-format==0.6.0',
]
exclude: tests/data

View File

@ -23,7 +23,14 @@ exclude =
.scratch,
_vendor,
data
enable-extensions = G
ignore =
G200, G202,
# pycodestyle checks ignored in the default configuration
E121, E123, E126, E133, E226, E241, E242, E704, W503, W504, W505,
per-file-ignores =
# G: The plugin logging-format treats every .log and .error as logging.
noxfile.py: G
# B011: Do not call assert False since python -O removes these calls
tests/*: B011
# TODO: Remove IOError from except (OSError, IOError) blocks in
@ -33,6 +40,7 @@ per-file-ignores =
src/pip/_internal/utils/filesystem.py: B014
src/pip/_internal/network/cache.py: B014
src/pip/_internal/utils/misc.py: B014
[mypy]
follow_imports = silent
ignore_missing_imports = True

View File

@ -228,11 +228,9 @@ class SimpleWheelCache(Cache):
continue
if canonicalize_name(wheel.name) != canonical_package_name:
logger.debug(
"Ignoring cached wheel {} for {} as it "
"does not match the expected distribution name {}.".format(
wheel_name, link, package_name
)
)
"Ignoring cached wheel %s for %s as it "
"does not match the expected distribution name %s.",
wheel_name, link, package_name)
continue
if not wheel.supported(supported_tags):
# Built for a different python/arch/etc

View File

@ -831,11 +831,11 @@ def _handle_merge_hash(option, opt_str, value, parser):
try:
algo, digest = value.split(':', 1)
except ValueError:
parser.error('Arguments to {} must be a hash name '
parser.error('Arguments to {} must be a hash name ' # noqa
'followed by a value, like --hash=sha256:'
'abcde...'.format(opt_str))
if algo not in STRONG_HASHES:
parser.error('Allowed hash algorithms for {} are {}.'.format(
parser.error('Allowed hash algorithms for {} are {}.'.format( # noqa
opt_str, ', '.join(STRONG_HASHES)))
parser.values.hashes.setdefault(algo, []).append(digest)

View File

@ -59,9 +59,8 @@ class CacheCommand(Command):
# Determine action
if not args or args[0] not in handlers:
logger.error("Need an action ({}) to perform.".format(
", ".join(sorted(handlers)))
)
logger.error("Need an action (%s) to perform.",
", ".join(sorted(handlers)))
return ERROR
action = args[0]

View File

@ -105,9 +105,8 @@ class ConfigurationCommand(Command):
# Determine action
if not args or args[0] not in handlers:
logger.error("Need an action ({}) to perform.".format(
", ".join(sorted(handlers)))
)
logger.error("Need an action (%s) to perform.",
", ".join(sorted(handlers)))
return ERROR
action = args[0]

View File

@ -29,7 +29,7 @@ logger = logging.getLogger(__name__)
def show_value(name, value):
# type: (str, Optional[str]) -> None
logger.info('{}: {}'.format(name, value))
logger.info('%s: %s', name, value)
def show_sys_implementation():
@ -102,9 +102,9 @@ def get_vendor_version_from_module(module_name):
def show_actual_vendor_versions(vendor_txt_versions):
# type: (Dict[str, str]) -> None
# Logs the actual version and print extra info
# if there is a conflict or if the actual version could not be imported.
"""Log the actual version and print extra info if there is
a conflict or if the actual version could not be imported.
"""
for module_name, expected_version in vendor_txt_versions.items():
extra_message = ''
actual_version = get_vendor_version_from_module(module_name)
@ -115,14 +115,7 @@ def show_actual_vendor_versions(vendor_txt_versions):
elif actual_version != expected_version:
extra_message = ' (CONFLICT: vendor.txt suggests version should'\
' be {})'.format(expected_version)
logger.info(
'{name}=={actual}{extra}'.format(
name=module_name,
actual=actual_version,
extra=extra_message
)
)
logger.info('%s==%s%s', module_name, actual_version, extra_message)
def show_vendor_versions():

View File

@ -436,7 +436,7 @@ class InstallCommand(RequirementCommand):
message = create_env_error_message(
error, show_traceback, options.use_user_site,
)
logger.error(message, exc_info=show_traceback)
logger.error(message, exc_info=show_traceback) # noqa
return ERROR

View File

@ -529,9 +529,7 @@ def group_locations(locations, expand_dir=False):
urls.append(url)
else:
logger.warning(
"Path '{0}' is ignored: "
"it is a directory.".format(path),
)
"Path '%s' is ignored: it is a directory.", path)
elif os.path.isfile(path):
sort_path(path)
else:

View File

@ -95,8 +95,8 @@ class SearchScope(object):
# exceptions for malformed URLs
if not purl.scheme and not purl.netloc:
logger.warning(
'The index url "{}" seems invalid, '
'please provide a scheme.'.format(redacted_index_url))
'The index url "%s" seems invalid, '
'please provide a scheme.', redacted_index_url)
redacted_index_urls.append(redacted_index_url)

View File

@ -308,9 +308,7 @@ def get_csv_rows_for_installed(
installed_rows = [] # type: List[InstalledCSVRow]
for row in old_csv_rows:
if len(row) > 3:
logger.warning(
'RECORD line has more than three elements: {}'.format(row)
)
logger.warning('RECORD line has more than three elements: %s', row)
old_record_path = _parse_record_path(row[0])
new_record_path = installed.pop(old_record_path, old_record_path)
if new_record_path in changed:

View File

@ -173,8 +173,8 @@ def deduce_helpful_msg(req):
" the packages specified within it."
).format(req)
except RequirementParseError:
logger.debug("Cannot parse '{}' as requirements \
file".format(req), exc_info=True)
logger.debug("Cannot parse '%s' as requirements file",
req, exc_info=True)
else:
msg += " File '{}' does not exist.".format(req)
return msg

View File

@ -612,9 +612,7 @@ class UninstallPthEntries(object):
# If the file doesn't exist, log a warning and return
if not os.path.isfile(self.file):
logger.warning(
"Cannot remove entries from nonexistent file {}".format(
self.file)
)
"Cannot remove entries from nonexistent file %s", self.file)
return
with open(self.file, 'rb') as fh:
# windows uses '\r\n' with py3k, but uses '\n' with py2.x

View File

@ -377,13 +377,13 @@ class Factory(object):
# satisfied. We just report that case.
if len(e.causes) == 1:
req, parent = e.causes[0]
if parent is None:
req_disp = str(req)
else:
req_disp = '{} (from {})'.format(req, parent.name)
logger.critical(
"Could not find a version that satisfies " +
"the requirement " +
str(req) +
("" if parent is None else " (from {})".format(
parent.name
))
"Could not find a version that satisfies the requirement %s",
req_disp,
)
return DistributionNotFound(
'No matching distribution found for {}'.format(req)

View File

@ -241,10 +241,8 @@ def call_subprocess(
).format(proc.returncode, command_desc)
raise InstallationError(exc_msg)
elif on_returncode == 'warn':
subprocess_logger.warning(
'Command "{}" had error code {} in {}'.format(
command_desc, proc.returncode, cwd)
)
subprocess_logger.warning('Command "%s" had error code %s in %s',
command_desc, proc.returncode, cwd)
elif on_returncode == 'ignore':
pass
else:

View File

@ -183,9 +183,8 @@ class TempDirectory(object):
# scripts, so we canonicalize the path by traversing potential
# symlinks here.
path = os.path.realpath(
tempfile.mkdtemp(prefix="pip-{}-".format(kind))
)
logger.debug("Created temporary directory: {}".format(path))
tempfile.mkdtemp(prefix="pip-{}-".format(kind)))
logger.debug("Created temporary directory: %s", path)
return path
def cleanup(self):
@ -267,8 +266,7 @@ class AdjacentTempDirectory(TempDirectory):
else:
# Final fallback on the default behavior.
path = os.path.realpath(
tempfile.mkdtemp(prefix="pip-{}-".format(kind))
)
tempfile.mkdtemp(prefix="pip-{}-".format(kind)))
logger.debug("Created temporary directory: {}".format(path))
logger.debug("Created temporary directory: %s", path)
return path