aboutsummaryrefslogtreecommitdiff
path: root/jb/managers/amt.py
diff options
context:
space:
mode:
Diffstat (limited to 'jb/managers/amt.py')
-rw-r--r--jb/managers/amt.py28
1 files changed, 11 insertions, 17 deletions
diff --git a/jb/managers/amt.py b/jb/managers/amt.py
index 2cb0cbd..e2c7e90 100644
--- a/jb/managers/amt.py
+++ b/jb/managers/amt.py
@@ -1,6 +1,6 @@
import logging
-from datetime import timezone, datetime
-from typing import Tuple, Optional, List, Dict, Any
+from datetime import datetime, timezone
+from typing import Any
import botocore.exceptions
from generalresearch.currency import USDCent
@@ -9,8 +9,8 @@ from mypy_boto3_mturk.type_defs import (
AssignmentTypeDef,
BonusPaymentTypeDef,
CreateHITTypeResponseTypeDef,
- GetHITResponseTypeDef,
CreateHITWithHITTypeResponseTypeDef,
+ GetHITResponseTypeDef,
)
from pydantic import ValidationError
@@ -19,7 +19,7 @@ from jb.models import AMTAccount
from jb.models.assignment import Assignment
from jb.models.bonus import Bonus
from jb.models.definitions import HitStatus
-from jb.models.hit import HitType, HitQuestion, Hit
+from jb.models.hit import Hit, HitQuestion, HitType
REJECT_MESSAGE_UNKNOWN_ASSIGNMENT = "Unknown assignment"
REJECT_MESSAGE_NO_WORK = "Assignment was submitted with no attempted work."
@@ -56,7 +56,7 @@ class AMTManager:
}
)
- def get_hit_if_exists(self, amt_hit_id: str) -> Tuple[Optional[Hit], Optional[str]]:
+ def get_hit_if_exists(self, amt_hit_id: str) -> tuple[Hit | None, str | None]:
try:
res: GetHITResponseTypeDef = self.amt_client.get_hit(HITId=amt_hit_id)
@@ -146,7 +146,7 @@ class AMTManager:
assert assignment.id is None
return assignment
- def get_assignment_if_exists(self, amt_assignment_id: str) -> Optional[Assignment]:
+ def get_assignment_if_exists(self, amt_assignment_id: str) -> Assignment | None:
expected_err_msg = f"Assignment {amt_assignment_id} does not exist"
try:
@@ -161,7 +161,7 @@ class AMTManager:
def reject_assignment_if_possible(
self, amt_assignment_id: str, msg: str = REJECT_MESSAGE_UNKNOWN_ASSIGNMENT
- ) -> Optional[Dict[str, Any]]:
+ ) -> dict[str, Any] | None:
# Unclear to me when this would fail
try:
@@ -178,7 +178,7 @@ class AMTManager:
amt_assignment_id: str,
msg: str = APPROVAL_MESSAGE,
override_rejection: bool = False,
- ) -> Optional[Dict[str, Any]]:
+ ) -> dict[str, Any] | None:
# Unclear to me when this would fail
try:
@@ -207,8 +207,6 @@ class AMTManager:
# elif "This HIT is currently in the state 'Reviewing'" in error_msg:
# logging.warning(error_msg)
- return None
-
def send_bonus(
self,
amt_worker_id: str,
@@ -216,7 +214,7 @@ class AMTManager:
amt_assignment_id: str,
reason: str,
unique_request_token: str,
- ) -> Optional[Dict[str, Any]]:
+ ) -> dict[str, Any] | None:
try:
return self.amt_client.send_bonus(
WorkerId=amt_worker_id,
@@ -230,11 +228,9 @@ class AMTManager:
logging.warning(f"{amt_worker_id=} {amt_assignment_id=}, {e}")
return None
- def get_bonus(
- self, amt_assignment_id: str, payout_event_id: str
- ) -> Optional[Bonus]:
+ def get_bonus(self, amt_assignment_id: str, payout_event_id: str) -> Bonus | None:
- res: List[BonusPaymentTypeDef] = self.amt_client.list_bonus_payments(
+ res: list[BonusPaymentTypeDef] = self.amt_client.list_bonus_payments(
AssignmentId=amt_assignment_id
)["BonusPayments"]
@@ -268,5 +264,3 @@ class AMTManager:
self.amt_client.update_expiration_for_hit(
HITId=hit["HITId"], ExpireAt=now
)
-
- return None