From 8e4b107bc1ccbe42b10fcf9399a4f3195fca4190 Mon Sep 17 00:00:00 2001 From: Jacob Henry Date: Tue, 20 Nov 2018 16:15:32 -0500 Subject: [PATCH] Adjusted sensitivity, and a weird edgecase where signoffs hit random people --- house_management.py | 2 +- job_commands.py | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/house_management.py b/house_management.py index 2fec1e9..727ae7b 100644 --- a/house_management.py +++ b/house_management.py @@ -14,7 +14,7 @@ job_range = "AllJobs" # Note that the first row is headers point_range = "PointRange" # How tolerant of spelling errors in names to be -SHEET_LOOKUP_THRESHOLD = 0.9 +SHEET_LOOKUP_THRESHOLD = 0.8 JOB_VAL = 1 LATE_VAL = 0.5 diff --git a/job_commands.py b/job_commands.py index 632fc66..99cd7c0 100644 --- a/job_commands.py +++ b/job_commands.py @@ -13,7 +13,7 @@ import slack_util SHEET_ID = "1lPj9GjB00BuIq9GelOWh5GmiGsheLlowPnHLnWBvMOM" -MIN_RATIO = 0.9 +MIN_RATIO = 0.8 def alert_user(slack: SlackClient, brother: scroll_util.Brother, saywhat: str) -> None: @@ -160,8 +160,9 @@ async def signoff_callback(slack: SlackClient, msg: dict, match: Match) -> None: # Score by name similarity, only accepting non-assigned jobs def scorer(assign: house_management.JobAssignment): - if assign.signer is None: - return fuzz.ratio(signee.name, assign.assignee.name) + r = fuzz.ratio(signee.name, assign.assignee.name) + if assign.signer is None and r > MIN_RATIO: + return r # Set the assigner, and notify def modifier(context: _ModJobContext): @@ -186,7 +187,9 @@ async def late_callback(slack: SlackClient, msg: dict, match: Match) -> None: # Score by name similarity. Don't care if signed off or not def scorer(assign: house_management.JobAssignment): - return fuzz.ratio(signee.name, assign.assignee.name) + r = fuzz.ratio(signee.name, assign.assignee.name) + if r > MIN_RATIO: + return r # Just set the assigner def modifier(context: _ModJobContext):