From bbc373bd2e9617c8da829b3a180e9c42f139a380 Mon Sep 17 00:00:00 2001 From: Max Nanis Date: Thu, 10 Sep 2026 10:27:51 -0700 Subject: Less from init, more from generalresearch, basic db test from shared conftest --- jb/managers/__init__.py | 23 ----------------------- jb/managers/amt.py | 3 +-- jb/managers/assignment.py | 2 +- jb/managers/base.py | 16 ++++++++++++++++ jb/managers/bonus.py | 2 +- jb/managers/gr_api.py | 6 ++++-- jb/managers/hit.py | 2 +- 7 files changed, 24 insertions(+), 30 deletions(-) create mode 100644 jb/managers/base.py (limited to 'jb/managers') diff --git a/jb/managers/__init__.py b/jb/managers/__init__.py index 92ba8bd..e69de29 100644 --- a/jb/managers/__init__.py +++ b/jb/managers/__init__.py @@ -1,23 +0,0 @@ -from collections.abc import Collection -from enum import IntEnum - -from generalresearch.pg_helper import PostgresConfig - - -class Permission(IntEnum): - READ = 1 - UPDATE = 2 - CREATE = 3 - DELETE = 4 - - -class PostgresManager: - def __init__( - self, - pg_config: PostgresConfig, - permissions: Collection[Permission] = None, # type: ignore - **kwargs, # type: ignore - ): - super().__init__(**kwargs) - self.pg_config = pg_config - self.permissions = set(permissions) if permissions else set() diff --git a/jb/managers/amt.py b/jb/managers/amt.py index 2411080..17e5630 100644 --- a/jb/managers/amt.py +++ b/jb/managers/amt.py @@ -14,8 +14,7 @@ from mypy_boto3_mturk.type_defs import ( from pydantic import ValidationError from jb.config import TOPIC_ARN -from jb.decorators import LOG -from jb.models import AMTAccount +from jb.models.amt import AMTAccount from jb.models.assignment import Assignment from jb.models.bonus import Bonus from jb.models.definitions import HitStatus diff --git a/jb/managers/assignment.py b/jb/managers/assignment.py index 089adb1..2740aee 100644 --- a/jb/managers/assignment.py +++ b/jb/managers/assignment.py @@ -3,7 +3,7 @@ from datetime import datetime, timezone from psycopg import sql from pydantic import NonNegativeInt, PositiveInt -from jb.managers import PostgresManager +from jb.managers.base import PostgresManager from jb.models.assignment import Assignment, AssignmentStub from jb.models.definitions import AssignmentStatus diff --git a/jb/managers/base.py b/jb/managers/base.py new file mode 100644 index 0000000..4b0637f --- /dev/null +++ b/jb/managers/base.py @@ -0,0 +1,16 @@ +from collections.abc import Collection + +from generalresearch.managers.base import Permission +from generalresearch.pg_helper import PostgresConfig + + +class PostgresManager: + def __init__( + self, + pg_config: PostgresConfig, + permissions: Collection[Permission] | None = None, + **kwargs, # type: ignore + ): + super().__init__(**kwargs) + self.pg_config = pg_config + self.permissions = set(permissions) if permissions else set() diff --git a/jb/managers/bonus.py b/jb/managers/bonus.py index 15d0e5b..b649103 100644 --- a/jb/managers/bonus.py +++ b/jb/managers/bonus.py @@ -2,7 +2,7 @@ from typing import Any from psycopg import sql -from jb.managers import PostgresManager +from jb.managers.base import PostgresManager from jb.models.bonus import Bonus diff --git a/jb/managers/gr_api.py b/jb/managers/gr_api.py index 70c6a60..f0be1a7 100644 --- a/jb/managers/gr_api.py +++ b/jb/managers/gr_api.py @@ -1,12 +1,14 @@ """Client for General Research's product-user API.""" +import logging from typing import Any import requests -from jb.decorators import LOG from jb.models.auth import User +logger = logging.getLogger("amtjb") + class GRApiError(RuntimeError): """The General Research API could not satisfy a request.""" @@ -143,7 +145,7 @@ class GRApiManager: raise self.set_user_email(user) transitioned_user = self.get_user(user.product_user_id) - LOG.warning( + logger.warning( "Transitioned product user from AMT worker %s to %s with email %s", amt_worker_id, transitioned_user.product_user_id, diff --git a/jb/managers/hit.py b/jb/managers/hit.py index 2c6067b..bbae92b 100644 --- a/jb/managers/hit.py +++ b/jb/managers/hit.py @@ -2,7 +2,7 @@ from datetime import datetime, timezone from psycopg import sql -from jb.managers import PostgresManager +from jb.managers.base import PostgresManager from jb.models.definitions import HitStatus from jb.models.hit import Hit, HitQuestion, HitType -- cgit v1.2.3