Spaces:
Paused
Paused
| """Coverage checks.""" | |
| from __future__ import annotations | |
| from zsgdp.schema import PageProfile, ParsedDocument | |
| def page_text_chars(parsed: ParsedDocument, page_num: int) -> int: | |
| return sum(len(element.content()) for element in parsed.elements if element.page_num == page_num) | |
| def coverage_ratio(page: PageProfile, parsed: ParsedDocument) -> float: | |
| expected = max(page.digital_text_chars, 1) | |
| observed = page_text_chars(parsed, page.page_num) | |
| return min(observed / expected, 1.0) | |