This commit is contained in:
AcerecA 2026-01-02 21:02:51 +01:00
parent 0407393eda
commit e2431f2b21
3 changed files with 27 additions and 13 deletions

View File

@ -3,6 +3,7 @@ from dataclasses import dataclass, field, fields
from json import loads
from os import environ
from typing import Any, Callable, Self, TypedDict
from urllib.error import HTTPError
from .hints import JSONDataMap
from .requests import get, put
@ -124,15 +125,19 @@ class ClickupSession:
base_url: str = "https://api.clickup.com/api/v2"
def _get(self, endpoint: str, **query_params: str) -> JSONDataMap:
raw_data = get(
self.base_url + endpoint,
query_params,
headers={
"accept": "application/json",
"Authorization": self.auth_key,
},
)
return loads(raw_data)
try:
raw_data = get(
self.base_url + endpoint,
query_params,
headers={
"accept": "application/json",
"Authorization": self.auth_key,
},
)
return loads(raw_data)
except HTTPError as e:
e.add_note(e.url)
raise
def _put(self, endpoint: str, **body_params: str) -> JSONDataMap:
raw_data = put(

View File

@ -1,3 +1,4 @@
from ssl import SSLContext, create_default_context
from urllib.request import Request, urlopen
@ -8,12 +9,16 @@ def get(
) -> str:
with urlopen(
Request(
url + ("?" + "&".join(f"{k}={v}" for k, v in query_params.items()))
if query_params
else "",
url
+ (
("?" + "&".join(f"{k}={v}" for k, v in query_params.items()))
if query_params
else ""
),
headers=headers or {},
method="GET",
),
context=create_default_context(),
) as resp:
return resp.read().decode("utf-8")
@ -30,5 +35,6 @@ def put(
headers=headers or {},
method="PUT",
),
context=create_default_context(),
) as resp:
return resp.read().decode("utf-8")

View File

@ -14,7 +14,7 @@ def dump_scalar(entry: hints.JSONDataScalar) -> str:
case False:
return "false\n"
case _:
return f"{entry:s}\n"
return f"{entry}\n"
def dump(obj: dict[str, hints.JSONDataScalar | list[hints.JSONDataScalar]]) -> str:
@ -24,10 +24,13 @@ def dump(obj: dict[str, hints.JSONDataScalar | list[hints.JSONDataScalar]]) -> s
ret += ":"
match value:
case []:
ret += " []\n"
case list() as entries:
ret += "\n"
for entry in entries:
ret += f" - {dump_scalar(entry)}"
case entry:
ret += f" {dump_scalar(entry)}"