Skip to content

Commit 1d3bf93

Browse files
committed
🎨 Refactor: Replace direct imports of APP_SETTINGS_KEY with constants in multiple modules
1 parent 8394d7f commit 1d3bf93

File tree

37 files changed

+69
-60
lines changed

37 files changed

+69
-60
lines changed

services/web/server/src/simcore_service_webserver/application_settings.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
from aiohttp import web
66
from common_library.basic_types import DEFAULT_FACTORY
7-
from common_library.exclude import Unset
87
from common_library.logging.logging_utils_filtering import LoggerName, MessageSubstring
98
from common_library.pydantic_fields_extension import is_nullable
109
from models_library.basic_types import LogLevel, PortInt, VersionTag
@@ -608,9 +607,6 @@ def to_client_statics(self) -> dict[str, Any]:
608607
return {snake_to_camel(k): v for k, v in data.items()}
609608

610609

611-
_unset = Unset.VALUE
612-
613-
614610
def setup_settings(app: web.Application) -> ApplicationSettings:
615611
settings: ApplicationSettings = ApplicationSettings.create_from_envs()
616612
app[APP_SETTINGS_KEY] = settings

services/web/server/src/simcore_service_webserver/constants.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,28 @@
11
# pylint:disable=unused-import
22

3-
from typing import Final
3+
from typing import TYPE_CHECKING, Final
44

5+
from aiohttp import web
56
from common_library.user_messages import user_message
67
from servicelib.aiohttp.application_keys import (
78
APP_AIOPG_ENGINE_KEY,
89
APP_CONFIG_KEY,
910
APP_FIRE_AND_FORGET_TASKS_KEY,
10-
APP_SETTINGS_KEY,
1111
)
1212
from servicelib.aiohttp.request_keys import RQT_USERID_KEY
1313

1414
from ._meta import APP_NAME
1515

16+
if TYPE_CHECKING:
17+
# Application settings key - defined here to avoid circular imports
18+
from .application_settings import ApplicationSettings
19+
20+
21+
APP_SETTINGS_KEY: web.AppKey[ApplicationSettings] = web.AppKey(
22+
"APP_SETTINGS_KEY", "ApplicationSettings" # Use string to avoid import
23+
)
24+
25+
1626
# Application storage keys
1727
APP_PRODUCTS_KEY: Final[str] = f"{__name__ }.APP_PRODUCTS_KEY"
1828

services/web/server/src/simcore_service_webserver/conversations/_controller/_conversations_messages_rest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
from models_library.utils.fastapi_encoders import jsonable_encoder
2323
from pydantic import BaseModel, ConfigDict
2424
from servicelib.aiohttp import status
25-
from servicelib.aiohttp.application_keys import APP_SETTINGS_KEY
2625
from servicelib.aiohttp.requests_validation import (
2726
parse_request_body_as,
2827
parse_request_path_parameters_as,
@@ -32,6 +31,7 @@
3231
from servicelib.rest_constants import RESPONSE_MODEL_POLICY
3332

3433
from ..._meta import API_VTAG as VTAG
34+
from ...constants import APP_SETTINGS_KEY
3535
from ...email import email_service
3636
from ...fogbugz.settings import FogbugzSettings
3737
from ...login.decorators import login_required

services/web/server/src/simcore_service_webserver/conversations/plugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import logging
44

55
from aiohttp import web
6-
from servicelib.aiohttp.application_keys import APP_SETTINGS_KEY
76
from servicelib.aiohttp.application_setup import ModuleCategory, app_module_setup
87

8+
from ..constants import APP_SETTINGS_KEY
99
from ._controller import _conversations_messages_rest, _conversations_rest
1010

1111
_logger = logging.getLogger(__name__)

services/web/server/src/simcore_service_webserver/db/_aiopg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
from aiopg.sa import Engine, create_engine
1313
from common_library.json_serialization import json_dumps
1414
from servicelib.aiohttp.aiopg_utils import is_pg_responsive
15-
from servicelib.aiohttp.application_keys import APP_AIOPG_ENGINE_KEY
1615
from servicelib.logging_utils import log_context
1716
from servicelib.retry_policies import PostgresRetryPolicyUponInitialization
1817
from simcore_postgres_database.aiopg_errors import DBAPIError
@@ -25,6 +24,7 @@
2524
from tenacity import retry
2625

2726
from .._meta import APP_NAME
27+
from ..constants import APP_AIOPG_ENGINE_KEY
2828
from .settings import PostgresSettings, get_plugin_settings
2929

3030
_logger = logging.getLogger(__name__)

services/web/server/src/simcore_service_webserver/db/plugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
from typing import Final
55

66
from aiohttp import web
7-
from servicelib.aiohttp.application_keys import APP_AIOPG_ENGINE_KEY
87
from servicelib.aiohttp.application_setup import ModuleCategory, app_module_setup
98

9+
from ..constants import APP_AIOPG_ENGINE_KEY
1010
from . import _aiopg, _asyncpg
1111

1212
_logger = logging.getLogger(__name__)

services/web/server/src/simcore_service_webserver/diagnostics/settings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77
ValidationInfo,
88
field_validator,
99
)
10-
from servicelib.aiohttp.application_keys import APP_SETTINGS_KEY
1110
from settings_library.base import BaseCustomSettings
1211

12+
from ..constants import APP_SETTINGS_KEY
13+
1314

1415
class DiagnosticsSettings(BaseCustomSettings):
1516
DIAGNOSTICS_SLOW_DURATION_SECS: PositiveFloat = Field(

services/web/server/src/simcore_service_webserver/director_v2/_client.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,6 @@
2626

2727
SERVICE_HEALTH_CHECK_TIMEOUT = ClientTimeout(total=2, connect=1)
2828

29-
APP_DIRECTOR_V2_CLIENT_KEY: Final = web.AppKey(
30-
"APP_DIRECTOR_V2_CLIENT_KEY", "DirectorV2RestClient"
31-
)
32-
3329

3430
async def is_healthy(app: web.Application) -> bool:
3531
try:
@@ -104,6 +100,11 @@ async def stop_computation(self, project_id: ProjectID, user_id: UserID):
104100
)
105101

106102

103+
APP_DIRECTOR_V2_CLIENT_KEY: Final = web.AppKey(
104+
"APP_DIRECTOR_V2_CLIENT_KEY", DirectorV2RestClient
105+
)
106+
107+
107108
def set_directorv2_client(app: web.Application, obj: DirectorV2RestClient):
108109
app[APP_DIRECTOR_V2_CLIENT_KEY] = obj
109110

services/web/server/src/simcore_service_webserver/director_v2/plugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import logging
22

33
from aiohttp import web
4-
from servicelib.aiohttp.application_keys import APP_SETTINGS_KEY
54
from servicelib.aiohttp.application_setup import (
65
ModuleCategory,
76
app_module_setup,
87
is_setup_completed,
98
)
109

10+
from ..constants import APP_SETTINGS_KEY
1111
from ..rest.plugin import setup_rest
1212
from . import _controller
1313
from ._client import DirectorV2RestClient, get_directorv2_client, set_directorv2_client

services/web/server/src/simcore_service_webserver/director_v2/settings.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
""" director v2 susystem configuration
2-
"""
1+
"""director v2 susystem configuration"""
32

43
from functools import cached_property
54
from typing import cast

0 commit comments

Comments
 (0)