replace requests package use w/ stdlib use

This commit is contained in:
AcerecA 2026-01-02 12:47:08 +01:00
parent a4efe1fd08
commit e190653961
1 changed files with 44 additions and 9 deletions

View File

@ -1,8 +1,43 @@
from json import loads
from typing import Any
from pydantic import AliasChoices, AliasPath, BaseModel, Field, field_validator
from pydantic import AliasPath, BaseModel, Field, field_validator
from pydantic_settings import BaseSettings
from requests import get, put
from ruamel.yaml import Node, Representer, ScalarNode
from urllib.request import Request, urlopen
def get(
url: str,
query_params: dict[str, str] | None = None,
headers: dict[str, str] | None = None,
) -> str:
with urlopen(
Request(
url + ("?" + "&".join(f"{k}={v}" for k, v in query_params.items()))
if query_params
else "",
headers=headers or {},
method="GET",
),
) as resp:
return resp.read().decode("utf-8")
def put(
url: str,
data: dict[str, str] | None = None,
headers: dict[str, str] | None = None,
) -> str:
with urlopen(
Request(
url,
str(data).encode(),
headers=headers or {},
method="PUT",
),
) as resp:
return resp.read().decode("utf-8")
class ClickupTask(BaseModel):
@ -77,18 +112,18 @@ class ClickupSession(BaseSettings):
base_url: str = "https://api.clickup.com/api/v2"
def _get(self, endpoint: str, **query_params: Any) -> dict[str, Any]:
with get(
raw_data = get(
self.base_url + endpoint,
query_params,
headers={
"accept": "application/json",
"Authorization": self.auth_key,
},
) as resp:
return resp.json()
)
return loads(raw_data)
def _put(self, endpoint: str, **body_params: Any) -> dict[str, Any]:
with put(
raw_data = put(
self.base_url + endpoint,
body_params,
headers={
@ -96,8 +131,8 @@ class ClickupSession(BaseSettings):
"content-type": "application/json",
"Authorization": self.auth_key,
},
) as resp:
return resp.json()
)
return loads(raw_data)
def get_tasks(self) -> list[ClickupTask]:
data = self._get(