# HG changeset patch # User Laman # Date 2024-09-19 11:56:49 # Node ID c234eb08d81653b946ad1e991755c8a0d62127d3 # Parent 9598ea1d80e2fa8b258cbb5009e36eda357872c8 fixed wrong rating reset diff --git a/rank_progress.py b/rank_progress.py --- a/rank_progress.py +++ b/rank_progress.py @@ -43,6 +43,7 @@ class Record: class RankTracker: def __init__(self, rating): assert rating >= -900 + self._precise_rating = rating self._rounded_rating = round_rating(rating) self._best = self._rounded_rating @@ -54,11 +55,17 @@ class RankTracker: def rounded_rating(self): return self._rounded_rating + @property + def precise_rating(self): + return self._precise_rating + def update(self, rating): assert rating >= -900 rounded_rating = round_rating(rating) old_rank = self.rank + self._precise_rating = rating + if rounded_rating == self._rounded_rating: pass elif rounded_rating > self._rounded_rating: # promotion @@ -117,7 +124,7 @@ def main(s, since, to, args): for r in tourneys: # omit reset ratings - if tracker.rounded_rating != round_rating(r.rating_before): + if tracker.precise_rating != r.rating_before: tracker = RankTracker(r.rating_before) old_rank = tracker.rank