From 6820bc9e2a42d91c5d50fae9120ade739faaeb80 Mon Sep 17 00:00:00 2001 From: Chandler Swift Date: Wed, 23 Jul 2025 00:53:09 -0500 Subject: [PATCH] make_scripture.py: Fix verse selection --- make_scripture.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/make_scripture.py b/make_scripture.py index fa36fc3..1502b28 100755 --- a/make_scripture.py +++ b/make_scripture.py @@ -54,7 +54,6 @@ def render_latex(json_data): latex_lines = [] chapter_number = json_data['chapter']['number'] - first_verse_written = False def render_verse_content(parts): result = [] @@ -75,7 +74,14 @@ def render_latex(json_data): result.append(escape_latex(part['text'])) return ' '.join(result) + last_seen_verse = 0 # to start; TODO: does this include extra e.g. headers sometimes? for element in content: + if element['type'] == 'verse': + last_seen_verse = element['number'] + if chapter_number == start_chapter and last_seen_verse < start_verse: + continue + if chapter_number == end_chapter and last_seen_verse >= end_verse: + break etype = element['type'] if etype == 'heading': heading_text = ' '.join(element['content']) @@ -88,10 +94,9 @@ def render_latex(json_data): verse_number = element['number'] verse_body = render_verse_content(element['content']) - if not first_verse_written: + if verse_number == 1: # First verse: show chapter number latex_lines.append(rf"\ch{{{chapter_number}}}{verse_body}") - first_verse_written = True else: latex_lines.append(rf"\vs{{{verse_number}}}{verse_body}") elif etype == 'hebrew_subtitle':