From af6c8dc14c302c828fa421686d3eab5d3a873516 Mon Sep 17 00:00:00 2001 From: g0ldyy <153996346+g0ldyy@users.noreply.github.com> Date: Mon, 24 Nov 2025 09:53:25 +0100 Subject: [PATCH] refactor: optimize torrents by tracker query --- comet/api/core.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/comet/api/core.py b/comet/api/core.py index e1e6416..e3e5d9a 100644 --- a/comet/api/core.py +++ b/comet/api/core.py @@ -373,14 +373,30 @@ async def admin_api_metrics(admin_session: str = Cookie(None)): total_torrents = await database.fetch_val("SELECT COUNT(*) FROM torrents") # Torrents by tracker - tracker_stats = await database.fetch_all(""" - SELECT tracker, COUNT(*) as count, AVG(seeders) as avg_seeders, AVG(size) as avg_size + # Torrents by tracker + top_trackers = await database.fetch_all(""" + SELECT tracker, COUNT(*) as count FROM torrents GROUP BY tracker ORDER BY count DESC LIMIT 5 """) + tracker_stats = [] + for row in top_trackers: + stats = await database.fetch_one( + "SELECT AVG(seeders) as avg_seeders, AVG(size) as avg_size FROM torrents WHERE tracker = :tracker", + {"tracker": row["tracker"]}, + ) + tracker_stats.append( + { + "tracker": row["tracker"], + "count": row["count"], + "avg_seeders": stats["avg_seeders"], + "avg_size": stats["avg_size"], + } + ) + # Size distribution size_distribution = await database.fetch_all(""" SELECT @@ -407,6 +423,7 @@ async def admin_api_metrics(admin_session: str = Cookie(None)): FROM torrents """) + # Media type distribution # Media type distribution media_distribution = await database.fetch_all(""" SELECT