| from pathlib import Path | |
| CPYTHON_ROOT = Path( | |
| __file__, # cpython/Doc/tools/check-epub.py | |
| '..', # cpython/Doc/tools | |
| '..', # cpython/Doc | |
| '..', # cpython | |
| ).resolve() | |
| EPUBCHECK_PATH = CPYTHON_ROOT / 'Doc' / 'epubcheck.txt' | |
| def main() -> int: | |
| lines = EPUBCHECK_PATH.read_text(encoding='utf-8').splitlines() | |
| fatal_errors = [line for line in lines if line.startswith('FATAL')] | |
| if fatal_errors: | |
| err_count = len(fatal_errors) | |
| s = 's' * (err_count != 1) | |
| print() | |
| print(f'Error: epubcheck reported {err_count} fatal error{s}:') | |
| print() | |
| print('\n'.join(fatal_errors)) | |
| return 1 | |
| print('Success: no fatal errors found.') | |
| return 0 | |
| if __name__ == '__main__': | |
| raise SystemExit(main()) |