aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/exts/recruitment/talentpool/_review.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/bot/exts/recruitment/talentpool/_review.py b/bot/exts/recruitment/talentpool/_review.py
index 2d5cc7ca3..e3ac1086d 100644
--- a/bot/exts/recruitment/talentpool/_review.py
+++ b/bot/exts/recruitment/talentpool/_review.py
@@ -119,9 +119,11 @@ class Reviewer:
(more nominations = higher priority).
For users with equal priority the oldest nomination will be reviewed first.
"""
+ now = datetime.now(timezone.utc)
+
possible = []
for user_id, user_data in self._pool.cache.items():
- time_since_nomination = datetime.now(timezone.utc) - isoparse(user_data["inserted_at"])
+ time_since_nomination = now - isoparse(user_data["inserted_at"])
if (
not user_data["reviewed"]
and time_since_nomination > MIN_NOMINATION_TIME
@@ -136,12 +138,12 @@ class Reviewer:
max_entries = max(len(x[1]["entries"]) for x in possible)
def sort_key(nomination: dict) -> float:
- return self.score_nomination(nomination[1], oldest_date, max_entries)
+ return self.score_nomination(nomination[1], oldest_date, now, max_entries)
return max(possible, key=sort_key)[0]
@staticmethod
- def score_nomination(nomination: dict, oldest_date: datetime, max_entries: int) -> float:
+ def score_nomination(nomination: dict, oldest_date: datetime, now: datetime, max_entries: int) -> float:
"""
Scores a nomination based on age and number of nomination entries.
@@ -151,7 +153,6 @@ class Reviewer:
entries_score = num_entries / max_entries
nomination_date = isoparse(nomination["inserted_at"])
- now = datetime.now(timezone.utc)
age_score = (nomination_date - now) / (oldest_date - now)
return entries_score * REVIEW_SCORE_WEIGHT + age_score