From b874441f06e59f301b8b461e9699b1bad132b64e Mon Sep 17 00:00:00 2001 From: AcerecA Date: Fri, 2 Jan 2026 12:52:08 +0100 Subject: [PATCH] replace use of pydantic_settings w/ dataclass --- rplugin/python3/mrpy/clickup.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/rplugin/python3/mrpy/clickup.py b/rplugin/python3/mrpy/clickup.py index 00be9a5..a60a4f3 100644 --- a/rplugin/python3/mrpy/clickup.py +++ b/rplugin/python3/mrpy/clickup.py @@ -1,8 +1,9 @@ +from dataclasses import dataclass, field from json import loads -from typing import Any +from os import environ +from typing import Any, Callable from pydantic import AliasPath, BaseModel, Field, field_validator -from pydantic_settings import BaseSettings from urllib.request import Request, urlopen @@ -105,10 +106,15 @@ class ClickupTask(BaseModel): return ret -class ClickupSession(BaseSettings): - auth_key: str = Field(alias="CLICKUP_AUTH", default=...) - workspace_id: str = Field(alias="CLICKUP_WORKSPACE_ID", default=...) - user_id: str = Field(alias="CLICKUP_USER_ID", default=...) +def get_env_var(var_name: str) -> Callable[[], str]: + return lambda var=var_name: environ[var] + + +@dataclass +class ClickupSession: + auth_key: str = field(default_factory=get_env_var("CLICKUP_AUTH")) + workspace_id: str = field(default_factory=get_env_var("CLICKUP_WORKSPACE_ID")) + user_id: str = field(default_factory=get_env_var("CLICKUP_USER_ID")) base_url: str = "https://api.clickup.com/api/v2" def _get(self, endpoint: str, **query_params: Any) -> dict[str, Any]: