From 41de719250d76be3c676125a16f90de2a1ebc26d Mon Sep 17 00:00:00 2001 From: "Bobby (aider)" Date: Tue, 11 Feb 2025 18:02:38 -0800 Subject: [PATCH] refactor: Add error handling to get_all_trading_plans function --- src/trading/trading_plan.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/trading/trading_plan.py b/src/trading/trading_plan.py index d6cb653..a741d48 100644 --- a/src/trading/trading_plan.py +++ b/src/trading/trading_plan.py @@ -255,17 +255,22 @@ def get_trading_plan(plan_id: int) -> Optional[TradingPlan]: def get_all_trading_plans(status: Optional[PlanStatus] = None) -> List[TradingPlan]: """Get all trading plans, optionally filtered by status""" with create_client() as client: - query = "SELECT * FROM trading_plans" - params = {} - - if status: - query += " WHERE status = %(status)s" - params['status'] = status.value + try: + query = "SELECT * FROM trading_plans" + params = {} - query += " ORDER BY updated_at DESC" + if status: + query += " WHERE status = %(status)s" + params['status'] = status.value + + query += " ORDER BY updated_at DESC" + + results = client.execute(query, params) + return [get_trading_plan(result[0]) for result in results] - results = client.execute(query, params) - return [get_trading_plan(result[0]) for result in results] + except Exception as e: + print(f"Error retrieving trading plans: {e}") + return [] def update_trading_plan(plan: TradingPlan) -> bool: """Update an existing trading plan"""