replace requests package use w/ stdlib use
This commit is contained in:
parent
a4efe1fd08
commit
e190653961
|
|
@ -1,8 +1,43 @@
|
||||||
|
from json import loads
|
||||||
from typing import Any
|
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 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):
|
class ClickupTask(BaseModel):
|
||||||
|
|
@ -77,18 +112,18 @@ class ClickupSession(BaseSettings):
|
||||||
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]:
|
||||||
with get(
|
raw_data = get(
|
||||||
self.base_url + endpoint,
|
self.base_url + endpoint,
|
||||||
query_params,
|
query_params,
|
||||||
headers={
|
headers={
|
||||||
"accept": "application/json",
|
"accept": "application/json",
|
||||||
"Authorization": self.auth_key,
|
"Authorization": self.auth_key,
|
||||||
},
|
},
|
||||||
) as resp:
|
)
|
||||||
return resp.json()
|
return loads(raw_data)
|
||||||
|
|
||||||
def _put(self, endpoint: str, **body_params: Any) -> dict[str, Any]:
|
def _put(self, endpoint: str, **body_params: Any) -> dict[str, Any]:
|
||||||
with put(
|
raw_data = put(
|
||||||
self.base_url + endpoint,
|
self.base_url + endpoint,
|
||||||
body_params,
|
body_params,
|
||||||
headers={
|
headers={
|
||||||
|
|
@ -96,8 +131,8 @@ class ClickupSession(BaseSettings):
|
||||||
"content-type": "application/json",
|
"content-type": "application/json",
|
||||||
"Authorization": self.auth_key,
|
"Authorization": self.auth_key,
|
||||||
},
|
},
|
||||||
) as resp:
|
)
|
||||||
return resp.json()
|
return loads(raw_data)
|
||||||
|
|
||||||
def get_tasks(self) -> list[ClickupTask]:
|
def get_tasks(self) -> list[ClickupTask]:
|
||||||
data = self._get(
|
data = self._get(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue