Path 1: 1 calls (1.0)

PyLinter (1)

dict (1)

KeyError (1)

1def _get_checkers_infos(linter: PyLinter) -> dict[str, dict[str, Any]]:
2    """Get info from a checker and handle KeyError."""
3    by_checker: dict[str, dict[str, Any]] = {}
4    for checker in linter.get_checkers():
5        name = checker.name
6        if name != MAIN_CHECKER_NAME:
7            try:
8                by_checker[name]["checker"] = checker
9                with warnings.catch_warnings():
10                    warnings.filterwarnings("ignore", category=DeprecationWarning)
11                    by_checker[name]["options"] += checker.options_and_values()
12                by_checker[name]["msgs"].update(checker.msgs)
13                by_checker[name]["reports"] += checker.reports
14            except KeyError:
15                with warnings.catch_warnings():
16                    warnings.filterwarnings("ignore", category=DeprecationWarning)
17                    by_checker[name] = {
18                        "checker": checker,
19                        "options": list(checker.options_and_values()),
20                        "msgs": dict(checker.msgs),
21                        "reports": list(checker.reports),
22                    }
23    return by_checker