From 9f761605b765fe917d429227675cfd4e794e9c01 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Sat, 6 Dec 2025 14:19:01 -0500 Subject: [PATCH] Fix verse of the day to use calendar-based selection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed from hash-based random selection to day-of-year selection so that monthly themes align with calendar months: - January shows New Beginnings verses - February shows Love verses - December shows Advent/Joy verses - etc. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- kjvstudy_org/routes/misc.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/kjvstudy_org/routes/misc.py b/kjvstudy_org/routes/misc.py index 9198e41..03651ba 100644 --- a/kjvstudy_org/routes/misc.py +++ b/kjvstudy_org/routes/misc.py @@ -48,11 +48,16 @@ def _load_featured_verses(): def get_daily_verse(date_str=None): - """Get the verse of the day based on a specific date (or current date if not provided)""" - # Use date as seed for consistent daily verse + """Get the verse of the day based on a specific date (or current date if not provided). + + Uses calendar-based selection: verses are organized by month theme, so + January dates get January-themed verses, December dates get Advent verses, etc. + """ if date_str is None: - date_str = datetime.now().strftime("%Y-%m-%d") - seed = int(hashlib.md5(date_str.encode()).hexdigest(), 16) % 1000000 + date_obj = datetime.now() + date_str = date_obj.strftime("%Y-%m-%d") + else: + date_obj = datetime.strptime(date_str, "%Y-%m-%d") # Load featured verses from JSON file featured_verses = _load_featured_verses() @@ -61,8 +66,10 @@ def get_daily_verse(date_str=None): # Fallback if file not found featured_verses = [{"book": "John", "chapter": 3, "verse": 16}] - # Select verse based on seed - verse_index = seed % len(featured_verses) + # Use day of year for calendar-based selection (1-365/366) + # This ensures January verses appear in January, December verses in December, etc. + day_of_year = date_obj.timetuple().tm_yday # 1-366 + verse_index = (day_of_year - 1) % len(featured_verses) # 0-364 verse_data = featured_verses[verse_index] book = verse_data["book"] chapter = verse_data["chapter"]