Use per-page annotation spacing with inferred margin fallback

This commit is contained in:
sebastien committed 2026-11-03 12:02:06 +01:00
1 parent b069805988
commit 0bb6f7d97c
10 files changed
+170 -39

No files matched your search

+12 -3
View File
@@ -324,9 +324,18 @@ class LeftMarginTests(unittest.TestCase):
self.assertNotIn('first_page_body_start_px', result)
def test_sparse_groups_stay_at_left(self):
for edges in ([None] * 4, [40, None, None, None]):
with self.subTest(edges=edges):
self.assertEqual(self.analyse(edges)['starts_px'], [0] * 4)
result = self.analyse([None] * 4)
self.assertEqual(result['starts_px'], [0] * 4)
self.assertTrue(all(page['effective_edge_mm'] is None for page in result['pages']))
def test_unknown_pages_borrow_only_measured_copy_average(self):
result = self.analyse([40, 50, None, None])
self.assertEqual([page['effective_edge_mm'] for page in result['pages']], [40, 50, 45, 45])
self.assertEqual(result['pages'][2]['status'], 'unknown')
self.assertIsNone(result['pages'][2]['edge_mm'])
self.assertEqual(result['starts_px'][2:], [round(25 * 200 / 25.4)] * 2)
sparse = self.analyse([40, None, None, None])
self.assertEqual(sparse['starts_px'], [round(20 * 200 / 25.4)] * 4)
def test_narrow_subpages_stay_at_left_even_with_indented_text(self):
result = self.analyse([45, 45, 70, 72], widths=[1654, 1654, 800, 800])