dotfiles/vscode/.vscode/extensions/donjayamanne.python-environment-manager-1.2.4/pythonFiles/linter.py
Errol Sancaktar ff17c17e23 vscode
2024-06-14 09:31:58 -06:00

57 lines
1.3 KiB
Python

import subprocess
import sys
linter_settings = {
"pylint": {
"args": ["--reports=n", "--output-format=json"],
},
"flake8": {
"args": ["--format", "%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s"],
},
"bandit": {
"args": [
"-f",
"custom",
"--msg-template",
"{line},{col},{severity},{test_id}:{msg}",
"-n",
"-1",
],
},
"mypy": {"args": []},
"prospector": {
"args": ["--absolute-paths", "--output-format=json"],
},
"pycodestyle": {
"args": ["--format", "%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s"],
},
"pydocstyle": {
"args": [],
},
"pylama": {"args": ["--format=parsable"]},
}
def main():
invoke = sys.argv[1]
if invoke == "-m":
linter = sys.argv[2]
args = (
[sys.executable, "-m", linter]
+ linter_settings[linter]["args"]
+ sys.argv[3:]
)
else:
linter = sys.argv[2]
args = [sys.argv[3]] + linter_settings[linter]["args"] + sys.argv[4:]
if hasattr(subprocess, "run"):
subprocess.run(args, encoding="utf-8", stdout=sys.stdout, stderr=sys.stderr)
else:
subprocess.call(args, stdout=sys.stdout, stderr=sys.stderr)
if __name__ == "__main__":
main()