glob_linters.utils package#

Submodules#

glob_linters.utils.io module#

IO functions

glob_linters.utils.io.print_configs() None[source]#

Show configuration

glob_linters.utils.io.scan(target_dir: str, suffix: list[str]) dict[str, list[str]][source]#

Scan directories to obtain target files

Parameters
  • target_dirs (list[str]) – Directories to be scanned

  • suffix (list[str]) – Expected file suffix

Returns

Absolute paths of target files

Return type

dict[str, list[str]]

glob_linters.utils.settings module#

Configuration

class glob_linters.utils.settings.Configs[source]#

Bases: object

Class to store configs/settings

black: ClassVar[Black] = <glob_linters.linters.Black object>#
clang_format: ClassVar[ClangFormat] = <glob_linters.linters.ClangFormat object>#
cpplint: ClassVar[Cpplint] = <glob_linters.linters.Cpplint object>#
debug: ClassVar[bool] = False#
flake8: ClassVar[Flake8] = <glob_linters.linters.Flake8 object>#
has_read_config_file: ClassVar[bool] = False#
isort: ClassVar[Isort] = <glob_linters.linters.Isort object>#
linters_enabled: ClassVar[dict[str, list[str]]] = {'.cpp': ['cpplint', 'clang_format'], '.py': ['pylint', 'flake8', 'black', 'isort', 'mypy']}#
mypy: ClassVar[Mypy] = <glob_linters.linters.Mypy object>#
pylint: ClassVar[Pylint] = <glob_linters.linters.Pylint object>#
return_code: ClassVar[int] = 0#
set_configs: ClassVar[dict[str, dict[str, Callable]]] = {'_set-config-file': {'black': <function Configs.<lambda>>, 'clang_format': <function Configs.<lambda>>, 'cpplint': <function Configs.<lambda>>, 'flake8': <function Configs.<lambda>>, 'isort': <function Configs.<lambda>>, 'mypy': <function Configs.<lambda>>, 'pylint': <function Configs.<lambda>>}, 'env': {'.cpp.disable_linters': <function Configs.<lambda>>, '.cpp.linters': <function Configs.<lambda>>, '.py.disable_linters': <function Configs.<lambda>>, '.py.linters': <function Configs.<lambda>>, 'debug': <function Configs.<lambda>>}, 'executable': {'black': <function Configs.<lambda>>, 'black.options': <function Configs.<lambda>>, 'clang_format': <function Configs.<lambda>>, 'clang_format.options': <function Configs.<lambda>>, 'cpplint': <function Configs.<lambda>>, 'cpplint.options': <function Configs.<lambda>>, 'flake8': <function Configs.<lambda>>, 'flake8.options': <function Configs.<lambda>>, 'isort': <function Configs.<lambda>>, 'isort.options': <function Configs.<lambda>>, 'mypy': <function Configs.<lambda>>, 'mypy.options': <function Configs.<lambda>>, 'pylint': <function Configs.<lambda>>, 'pylint.options': <function Configs.<lambda>>}, 'target': {'target_dir': <function Configs.<lambda>>, 'target_suffix': <function Configs.<lambda>>}}#
target_dir: ClassVar[str] = '.'#
target_suffix: ClassVar[list[str]] = ['.cpp', '.py']#
glob_linters.utils.settings.install_mypy_package_requirements() None[source]#

Install additional packages for mypy linting

glob_linters.utils.settings.load_linter_configs() None[source]#

Load config file for each enabled linter

glob_linters.utils.settings.parse_args(args: Namespace) None[source]#

Parse command line arguments

Parameters

args (argparse.Namespace) – Arguments returned by argparse.parse_args

Raises

ValueError – Invalid linter name found

glob_linters.utils.settings.parse_config_file(config_file: str) None[source]#

Parse configuration from configparser-like file

Parameters

config_file (str) – Configuration file path

Raises

ValueError – Invalid section/option found in config file

Module contents#