From 3349620b3acaf893bdfc458c56b7983bde1ef888 Mon Sep 17 00:00:00 2001 From: 283375 Date: Sat, 23 Sep 2023 17:51:32 +0800 Subject: [PATCH] impr(db): better `recommend_charts` --- src/arcaea_offline/database.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/arcaea_offline/database.py b/src/arcaea_offline/database.py index 397b8a1..e536eab 100644 --- a/src/arcaea_offline/database.py +++ b/src/arcaea_offline/database.py @@ -283,7 +283,7 @@ class Database(metaclass=Singleton): session.delete(score) session.commit() - def recommend_charts(self, play_result: float): + def recommend_charts(self, play_result: float, bounds: float = 0.1): base_constant = math.ceil(play_result * 10) results = [] @@ -306,6 +306,8 @@ class Database(metaclass=Singleton): (ScoreBest.song_id == chart.song_id) & (ScoreBest.rating_class == chart.rating_class) & (ScoreBest.score >= min_score) + & (play_result - bounds < ScoreBest.potential) + & (ScoreBest.potential < play_result + bounds) ) if session.scalar(score_best_stmt): chart_id = f"{chart.song_id},{chart.rating_class}"