Skip to content

Commit 9fcfd72

Browse files
committed
split settings
1 parent f266505 commit 9fcfd72

File tree

3 files changed

+25
-19
lines changed

3 files changed

+25
-19
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from typing import Annotated
2+
3+
from pydantic import AfterValidator, HttpUrl
4+
from settings_library.base import BaseCustomSettings
5+
6+
7+
def _validate_url_contains_category(url: str) -> str:
8+
if "{category}" not in url:
9+
msg = "URL must contain '{category}'"
10+
raise ValueError(msg)
11+
return url
12+
13+
14+
class ItisVipSettings(BaseCustomSettings):
15+
ITIS_VIP_API_URL: Annotated[str, AfterValidator(_validate_url_contains_category)]
16+
ITIS_VIP_CATEGORIES: list[str]
17+
18+
def get_urls(self) -> list[HttpUrl]:
19+
return [
20+
HttpUrl(self.ITIS_VIP_API_URL.format(category=category))
21+
for category in self.ITIS_VIP_CATEGORIES
22+
]

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

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,9 @@
11
from typing import Annotated
22

3-
from pydantic import AfterValidator, Field, HttpUrl
3+
from pydantic import Field
44
from settings_library.base import BaseCustomSettings
55

6-
7-
def _validate_url_contains_category(url: str) -> str:
8-
if "{category}" not in url:
9-
msg = "URL must contain '{category}'"
10-
raise ValueError(msg)
11-
return url
12-
13-
14-
class ItisVipSettings(BaseCustomSettings):
15-
ITIS_VIP_API_URL: Annotated[str, AfterValidator(_validate_url_contains_category)]
16-
ITIS_VIP_CATEGORIES: list[str]
17-
18-
def get_urls(self) -> list[HttpUrl]:
19-
return [
20-
HttpUrl(self.ITIS_VIP_API_URL.format(category=category))
21-
for category in self.ITIS_VIP_CATEGORIES
22-
]
6+
from ._itis_vip_settings import ItisVipSettings
237

248

259
class LicensesSettings(BaseCustomSettings):

services/web/server/tests/unit/with_dbs/04/licenses/test_itis_vip_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from servicelib.aiohttp import status
1717
from simcore_service_webserver.licenses import _itis_vip_service
1818
from simcore_service_webserver.licenses._itis_vip_service import ResponseData
19-
from simcore_service_webserver.licenses.settings import ItisVipSettings
19+
from simcore_service_webserver.licenses._itis_vip_settings import ItisVipSettings
2020

2121

2222
@pytest.fixture(scope="session")

0 commit comments

Comments
 (0)