From 996d46cad7f2ae2bc54c09038c1a94fbf9a204a2 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 20 May 2023 00:56:44 +0100 Subject: [PATCH] Fix all package stats API returning 0s --- app/logic/graphs.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/logic/graphs.py b/app/logic/graphs.py index f58999de..8b9204a8 100644 --- a/app/logic/graphs.py +++ b/app/logic/graphs.py @@ -78,13 +78,14 @@ def get_package_overview_for_user(user: Optional[User], start_date: datetime.dat if user: query = query.filter(PackageDailyStats.package.has(author_id=user.id)) - stats = query \ - .filter(PackageDailyStats.package.has(state=PackageState.APPROVED)) \ + all_stats = query \ + .filter(PackageDailyStats.package.has(state=PackageState.APPROVED), + PackageDailyStats.date >= start_date, PackageDailyStats.date <= end_date) \ .order_by(db.asc(PackageDailyStats.package_id), db.asc(PackageDailyStats.date)) \ .all() stats_by_package = {} - for stat in stats: + for stat in all_stats: bucket = stats_by_package.get(stat.package_id, []) stats_by_package[stat.package_id] = bucket @@ -113,8 +114,10 @@ def get_package_overview_for_user(user: Optional[User], start_date: datetime.dat if stat.date == date: row.append(stat.downloads) i += 1 - else: + elif stat.date > date: row.append(0) + else: + raise Exception(f"Invalid logic, expected stat {stat.date} to be later than {date}") return result