cpython/Doc/tools/check-epub.py
Miss Islington (bot) 7dc669f935
[3.14] gh-136155: Docs: check for EPUB fatal errors in CI (GH-134074) (#137539)
Co-authored-by: Maciej Olko <maciej.olko@affirm.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-08-08 19:05:29 +03:00

30 lines
774 B
Python

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())