From 978fb12969612e27ec865fbd814d06cde45796a7 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 22 Mar 2026 07:25:39 +0000 Subject: [PATCH] fix: early return in _load_deck_cards_by_name when deck not found in DB Fixes UnboundLocalError crash when deck_row is None by returning an empty list instead of falling through to a query with an unbound deck_id. Co-Authored-By: Claude Opus 4.6 --- services/deck_service.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/deck_service.py b/services/deck_service.py index 26e57ce..2227887 100644 --- a/services/deck_service.py +++ b/services/deck_service.py @@ -178,8 +178,9 @@ def _load_deck_cards_by_name(deck_name: str) -> list: """Load cards from a deck by name, returning list of card dicts.""" conn = _get_db_conn() deck_row = conn.execute("SELECT id FROM decks WHERE name = ?", (deck_name,)).fetchone() - if deck_row: - deck_id = deck_row[0] + if not deck_row: + return [] + deck_id = deck_row[0] rows = conn.execute(""" SELECT dc.card_name, dc.quantity, dc.is_commander, dc.role_tag, dc.scryfall_id, COALESCE(ce.type_line, cr.type_line, '') as type_line,