import sys
import glob
import tomllib
def iter_default_files():
for path in glob.glob("**/*.toml", recursive=True):
if path.startswith("target/") or "/target/" in path:
continue
yield path
def main(argv: list[str]) -> int:
files = argv[1:] or list(iter_default_files())
failures = 0
for path in files:
try:
with open(path, "rb") as fh:
tomllib.load(fh)
except FileNotFoundError:
continue
except tomllib.TOMLDecodeError as exc:
failures += 1
print(f"{path}: invalid TOML: {exc}", file=sys.stderr)
if failures:
print(
f"\n{failures} TOML file(s) failed to parse. Fix the syntax above.",
file=sys.stderr,
)
return 1
return 0
if __name__ == "__main__":
raise SystemExit(main(sys.argv))