Fix flake8-bugbear warnings

pull/5311/head
Daniel Mensinger 5 years ago
parent e75211d321
commit 2b5831f94f
No known key found for this signature in database
GPG Key ID: 54DD94C131E277D4
  1. 2
      mesonbuild/ast/visitor.py
  2. 4
      mesonbuild/backend/backends.py
  3. 2
      mesonbuild/coredata.py
  4. 6
      mesonbuild/dependencies/base.py
  5. 2
      mesonbuild/interpreterbase.py
  6. 2
      mesonbuild/mintro.py
  7. 43
      mesonbuild/mlog.py
  8. 2
      mesonbuild/mparser.py
  9. 1
      sideci.yml

@ -134,7 +134,5 @@ class AstVisitor:
self.visit_default_func(node)
for i in node.arguments:
i.accept(self)
for i in node.commas:
pass
for val in node.kwargs.values():
val.accept(self)

@ -320,12 +320,14 @@ class Backend:
raise MesonException('Unknown data type in object list.')
return obj_list
def serialize_executable(self, tname, exe, cmd_args, workdir, env={},
def serialize_executable(self, tname, exe, cmd_args, workdir, env=None,
extra_paths=None, capture=None):
'''
Serialize an executable for running with a generator or a custom target
'''
import hashlib
if env is None:
env = {}
if extra_paths is None:
# The callee didn't check if we needed extra paths, so check it here
if mesonlib.is_windows() or mesonlib.is_cygwin():

@ -20,7 +20,7 @@ from pathlib import PurePath
from collections import OrderedDict
from .mesonlib import (
MesonException, MachineChoice, PerMachine,
default_libdir, default_libexecdir, default_prefix, stringlistify
default_libdir, default_libexecdir, default_prefix
)
from .wrap import WrapMode
import ast

@ -924,9 +924,11 @@ class CMakeTraceLine:
return s.format(self.file, self.line, self.func, self.args)
class CMakeTarget:
def __init__(self, name, type, properies = {}):
def __init__(self, name, target_type, properies = None):
if properies is None:
properies = {}
self.name = name
self.type = type
self.type = target_type
self.properies = properies
def __repr__(self):

@ -144,7 +144,7 @@ def stringArgs(f):
return wrapped
def noArgsFlattening(f):
setattr(f, 'no-args-flattening', True)
setattr(f, 'no-args-flattening', True) # noqa: B010
return f
def disablerIfNotFound(f):

@ -27,7 +27,7 @@ from . import mlog
from .backend import backends
from .mparser import FunctionNode, ArrayNode, ArgumentNode, StringNode
from typing import List, Optional
import sys, os
import os
import pathlib
def get_meson_info_file(info_dir: str):

@ -19,6 +19,7 @@ import time
import platform
from contextlib import contextmanager
import typing
from typing import Any, Generator, List, Optional, Sequence, TextIO, Union
"""This is (mostly) a standalone module used to write logging
information about Meson runs. Some output goes to screen,
@ -43,11 +44,11 @@ if platform.system().lower() == 'windows':
colorize_console = os.isatty(sys.stdout.fileno()) and _windows_ansi() # type: bool
else:
colorize_console = os.isatty(sys.stdout.fileno()) and os.environ.get('TERM') != 'dumb'
log_dir = None # type: typing.Optional[str]
log_file = None # type: typing.Optional[typing.TextIO]
log_dir = None # type: Optional[str]
log_file = None # type: Optional[TextIO]
log_fname = 'meson-log.txt' # type: str
log_depth = 0 # type: int
log_timestamp_start = None # type: typing.Optional[float]
log_timestamp_start = None # type: Optional[float]
log_fatal_warnings = False # type: bool
log_disable_stdout = False # type: bool
log_errors_only = False # type: bool
@ -78,7 +79,7 @@ def set_timestamp_start(start: float) -> None:
global log_timestamp_start
log_timestamp_start = start
def shutdown() -> typing.Optional[str]:
def shutdown() -> Optional[str]:
global log_file
if log_file is not None:
path = log_file.name
@ -124,8 +125,8 @@ def cyan(text: str) -> AnsiDecorator:
# This really should be AnsiDecorator or anything that implements
# __str__(), but that requires protocols from typing_extensions
def process_markup(args: typing.Sequence[typing.Union[AnsiDecorator, str]], keep: bool) -> typing.List[str]:
arr = [] # type: typing.List[str]
def process_markup(args: Sequence[Union[AnsiDecorator, str]], keep: bool) -> List[str]:
arr = [] # type: List[str]
if log_timestamp_start is not None:
arr = ['[{:.3f}]'.format(time.monotonic() - log_timestamp_start)]
for arg in args:
@ -139,7 +140,7 @@ def process_markup(args: typing.Sequence[typing.Union[AnsiDecorator, str]], keep
arr.append(str(arg))
return arr
def force_print(*args: str, **kwargs: typing.Any) -> None:
def force_print(*args: str, **kwargs: Any) -> None:
global log_disable_stdout
if log_disable_stdout:
return
@ -160,14 +161,14 @@ def force_print(*args: str, **kwargs: typing.Any) -> None:
print(cleaned, end='')
# We really want a heterogenous dict for this, but that's in typing_extensions
def debug(*args: typing.Union[str, AnsiDecorator], **kwargs: typing.Any) -> None:
def debug(*args: Union[str, AnsiDecorator], **kwargs: Any) -> None:
arr = process_markup(args, False)
if log_file is not None:
print(*arr, file=log_file, **kwargs)
log_file.flush()
def log(*args: typing.Union[str, AnsiDecorator], is_error: bool = False,
**kwargs: typing.Any) -> None:
def log(*args: Union[str, AnsiDecorator], is_error: bool = False,
**kwargs: Any) -> None:
global log_errors_only
arr = process_markup(args, False)
if log_file is not None:
@ -178,7 +179,7 @@ def log(*args: typing.Union[str, AnsiDecorator], is_error: bool = False,
if not log_errors_only or is_error:
force_print(*arr, **kwargs)
def _log_error(severity: str, *rargs: typing.Union[str, AnsiDecorator], **kwargs: typing.Any) -> None:
def _log_error(severity: str, *rargs: Union[str, AnsiDecorator], **kwargs: Any) -> None:
from .mesonlib import get_error_location_string
from .environment import build_filename
from .mesonlib import MesonException
@ -186,7 +187,7 @@ def _log_error(severity: str, *rargs: typing.Union[str, AnsiDecorator], **kwargs
# The tping requirements here are non-obvious. Lists are invariant,
# therefore List[A] and List[Union[A, B]] are not able to be joined
if severity == 'warning':
label = [yellow('WARNING:')] # type: typing.List[typing.Union[str, AnsiDecorator]]
label = [yellow('WARNING:')] # type: List[Union[str, AnsiDecorator]]
elif severity == 'error':
label = [red('ERROR:')]
elif severity == 'deprecation':
@ -202,7 +203,7 @@ def _log_error(severity: str, *rargs: typing.Union[str, AnsiDecorator], **kwargs
location_str = get_error_location_string(location_file, location.lineno)
# Unions are frankly awful, and we have to cast here to get mypy
# to understand that the list concatenation is safe
location_list = typing.cast(typing.List[typing.Union[str, AnsiDecorator]], [location_str])
location_list = typing.cast(List[Union[str, AnsiDecorator]], [location_str])
args = location_list + args
log(*args, **kwargs)
@ -211,18 +212,20 @@ def _log_error(severity: str, *rargs: typing.Union[str, AnsiDecorator], **kwargs
if log_fatal_warnings:
raise MesonException("Fatal warnings enabled, aborting")
def error(*args: typing.Union[str, AnsiDecorator], **kwargs: typing.Any) -> None:
def error(*args: Union[str, AnsiDecorator], **kwargs: Any) -> None:
return _log_error('error', *args, **kwargs, is_error=True)
def warning(*args: typing.Union[str, AnsiDecorator], **kwargs: typing.Any) -> None:
def warning(*args: Union[str, AnsiDecorator], **kwargs: Any) -> None:
return _log_error('warning', *args, **kwargs, is_error=True)
def deprecation(*args: typing.Union[str, AnsiDecorator], **kwargs: typing.Any) -> None:
def deprecation(*args: Union[str, AnsiDecorator], **kwargs: Any) -> None:
return _log_error('deprecation', *args, **kwargs, is_error=True)
def exception(e: Exception, prefix: AnsiDecorator = red('ERROR:')) -> None:
def exception(e: Exception, prefix: Optional[AnsiDecorator] = None) -> None:
if prefix is None:
prefix = red('ERROR:')
log()
args = [] # type: typing.List[typing.Union[AnsiDecorator, str]]
args = [] # type: List[Union[AnsiDecorator, str]]
if hasattr(e, 'file') and hasattr(e, 'lineno') and hasattr(e, 'colno'):
# Mypy can't figure this out, and it's pretty easy to vidual inspect
# that this is correct, so we'll just ignore it.
@ -234,7 +237,7 @@ def exception(e: Exception, prefix: AnsiDecorator = red('ERROR:')) -> None:
# Format a list for logging purposes as a string. It separates
# all but the last item with commas, and the last with 'and'.
def format_list(input_list: typing.List[str]) -> str:
def format_list(input_list: List[str]) -> str:
l = len(input_list)
if l > 2:
return ' and '.join([', '.join(input_list[:-1]), input_list[-1]])
@ -246,7 +249,7 @@ def format_list(input_list: typing.List[str]) -> str:
return ''
@contextmanager
def nested() -> typing.Generator[None, None, None]:
def nested() -> Generator[None, None, None]:
global log_depth
log_depth += 1
try:

@ -217,7 +217,7 @@ class BaseNode:
fname = 'visit_{}'.format(type(self).__name__)
if hasattr(visitor, fname):
func = getattr(visitor, fname)
if hasattr(func, '__call__'):
if callable(func):
func(self)
class ElementaryNode(BaseNode):

@ -4,3 +4,4 @@ linter:
plugins:
- flake8-blind-except
- flake8-builtins
- flake8-bugbear

Loading…
Cancel
Save