From d7e78b66d529b474cc3236915fbe1c0fc64fc50b Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 16 Nov 2025 19:53:03 +0000 Subject: [PATCH] Refactor: Add type hints and improve sorting in get_revenue_by_model Co-authored-by: db2002dominic --- routstr/core/admin.py | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/routstr/core/admin.py b/routstr/core/admin.py index e09a82d4..8f038a8e 100644 --- a/routstr/core/admin.py +++ b/routstr/core/admin.py @@ -3421,7 +3421,7 @@ async def get_revenue_by_model( except Exception: continue - models = [] + models: list[dict[str, str | int | float]] = [] total_revenue = 0.0 for model, stats in model_stats.items(): @@ -3451,22 +3451,26 @@ async def get_revenue_by_model( assert isinstance(failed_raw, int) failed_val = failed_raw - models.append( - { - "model": model, - "revenue_sats": revenue_sats, - "refunds_sats": refunds_sats, - "net_revenue_sats": net_revenue_sats, - "requests": requests_val, - "successful": successful_val, - "failed": failed_val, - "avg_revenue_per_request": ( - revenue_sats / successful_val if successful_val > 0 else 0 - ), - } - ) + model_data: dict[str, str | int | float] = { + "model": model, + "revenue_sats": revenue_sats, + "refunds_sats": refunds_sats, + "net_revenue_sats": net_revenue_sats, + "requests": requests_val, + "successful": successful_val, + "failed": failed_val, + "avg_revenue_per_request": ( + revenue_sats / successful_val if successful_val > 0 else 0 + ), + } + models.append(model_data) - models.sort(key=lambda x: float(x["net_revenue_sats"]), reverse=True) + def _sort_key(x: dict[str, str | int | float]) -> float: + val = x["net_revenue_sats"] + assert isinstance(val, (int, float)) + return float(val) + + models.sort(key=_sort_key, reverse=True) return { "models": models[:limit],