Source code for svst.cli
import sys
from svst import api, output
from typing import List
import argparse
[docs]def main() -> None:
"""CLI command method.
Args:
--mypy: Run svst alongside mypy.
--check: Only print error count.
Usage Example:
svst \--mypy .
Prints:
Error messages and error count.
"""
parser = argparse.ArgumentParser()
parser.add_argument("--mypy", action="store_true")
parser.add_argument("--check", action="store_true")
parser.add_argument("paths", nargs="+")
arguments = parser.parse_args()
error_messages: List[str] = api.run(arguments.paths, mypy=arguments.mypy)
errors_count: int = 0
for error_line in error_messages:
errors_count += 1
if not arguments.check:
print(output.output_string_converter_terminal(error_line), file=sys.stderr)
summary_message = (
f"Found {errors_count} errors running svst and mypy."
if arguments.mypy
else f"Found {errors_count} errors running svst."
)
if errors_count:
print(summary_message, file=sys.stderr)
sys.exit(1)
else:
print(summary_message)
if __name__ == '__main__':
main()