replace use of pydantic_settings w/ dataclass

This commit is contained in:
AcerecA 2026-01-02 12:52:08 +01:00
parent e190653961
commit 615b696fda
2 changed files with 12 additions and 7 deletions

View File

@ -5,7 +5,6 @@ description = "Add your description here"
readme = "README.md" readme = "README.md"
requires-python = ">=3.12" requires-python = ">=3.12"
dependencies = [ dependencies = [
"pydantic-settings~=2.12",
"pynvim~=0.6.0", "pynvim~=0.6.0",
"requests>=2.32.5", "requests>=2.32.5",
] ]

View File

@ -1,8 +1,9 @@
from dataclasses import dataclass, field
from json import loads 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 import AliasPath, BaseModel, Field, field_validator
from pydantic_settings import BaseSettings
from urllib.request import Request, urlopen from urllib.request import Request, urlopen
@ -105,10 +106,15 @@ class ClickupTask(BaseModel):
return ret return ret
class ClickupSession(BaseSettings): def get_env_var(var_name: str) -> Callable[[], str]:
auth_key: str = Field(alias="CLICKUP_AUTH", default=...) return lambda var=var_name: environ[var]
workspace_id: str = Field(alias="CLICKUP_WORKSPACE_ID", default=...)
user_id: str = Field(alias="CLICKUP_USER_ID", default=...)
@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" base_url: str = "https://api.clickup.com/api/v2"
def _get(self, endpoint: str, **query_params: Any) -> dict[str, Any]: def _get(self, endpoint: str, **query_params: Any) -> dict[str, Any]: