| from __future__ import annotations |
| |
| import argparse |
| import sys |
| from typing import Sequence |
| |
| if sys.version_info >= (3, 11): # pragma: >=3.11 cover |
| import tomllib |
| else: # pragma: <3.11 cover |
| import tomli as tomllib |
| |
| |
| def main(argv: Sequence[str] | None = None) -> int: |
| parser = argparse.ArgumentParser() |
| parser.add_argument('filenames', nargs='*', help='Filenames to check.') |
| args = parser.parse_args(argv) |
| |
| retval = 0 |
| for filename in args.filenames: |
| try: |
| with open(filename, mode='rb') as fp: |
| tomllib.load(fp) |
| except tomllib.TOMLDecodeError as exc: |
| print(f'{filename}: {exc}') |
| retval = 1 |
| return retval |
| |
| |
| if __name__ == '__main__': |
| raise SystemExit(main()) |