]>
Commit | Line | Data |
---|---|---|
1 | """Module containing the logic for our debugging logic.""" | |
2 | from __future__ import annotations | |
3 | ||
4 | import platform | |
5 | from typing import Any | |
6 | ||
7 | from flake8.plugins.finder import Plugins | |
8 | ||
9 | ||
10 | def information(version: str, plugins: Plugins) -> dict[str, Any]: | |
11 | """Generate the information to be printed for the bug report.""" | |
12 | versions = sorted( | |
13 | { | |
14 | (loaded.plugin.package, loaded.plugin.version) | |
15 | for loaded in plugins.all_plugins() | |
16 | if loaded.plugin.package not in {"flake8", "local"} | |
17 | } | |
18 | ) | |
19 | return { | |
20 | "version": version, | |
21 | "plugins": [ | |
22 | {"plugin": plugin, "version": version} | |
23 | for plugin, version in versions | |
24 | ], | |
25 | "platform": { | |
26 | "python_implementation": platform.python_implementation(), | |
27 | "python_version": platform.python_version(), | |
28 | "system": platform.system(), | |
29 | }, | |
30 | } |