Files
2026-05-31 10:17:09 +07:00

42 lines
1.1 KiB
Python

import sys
import json
import argparse
from . import parse, CollectedValidationErrors
def main():
parser = argparse.ArgumentParser(description="Parse and validate STEP file.")
parser.add_argument("filename", help="The STEP file to validate.")
parser.add_argument(
"--progress", action="store_true", help="Show progress during validation."
)
parser.add_argument(
"--json", action="store_true", help="Output errors in JSON format."
)
parser.add_argument(
"--only-header", action="store_true", help="Validate only the header section."
)
args = parser.parse_args()
try:
parse(
filename=args.filename,
with_progress=args.progress,
with_tree=False,
only_header=args.only_header,
)
if not args.json:
print("Valid", file=sys.stderr)
exit(0)
except CollectedValidationErrors as exc:
if not args.json:
print(exc, file=sys.stderr)
else:
json.dump([e.asdict() for e in exc.errors], sys.stdout, indent=2)
exit(1)
if __name__ == "__main__":
main()