fix bugs
This commit is contained in:
parent
0407393eda
commit
e2431f2b21
|
|
@ -3,6 +3,7 @@ from dataclasses import dataclass, field, fields
|
||||||
from json import loads
|
from json import loads
|
||||||
from os import environ
|
from os import environ
|
||||||
from typing import Any, Callable, Self, TypedDict
|
from typing import Any, Callable, Self, TypedDict
|
||||||
|
from urllib.error import HTTPError
|
||||||
|
|
||||||
from .hints import JSONDataMap
|
from .hints import JSONDataMap
|
||||||
from .requests import get, put
|
from .requests import get, put
|
||||||
|
|
@ -124,15 +125,19 @@ class ClickupSession:
|
||||||
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: str) -> JSONDataMap:
|
def _get(self, endpoint: str, **query_params: str) -> JSONDataMap:
|
||||||
raw_data = get(
|
try:
|
||||||
self.base_url + endpoint,
|
raw_data = get(
|
||||||
query_params,
|
self.base_url + endpoint,
|
||||||
headers={
|
query_params,
|
||||||
"accept": "application/json",
|
headers={
|
||||||
"Authorization": self.auth_key,
|
"accept": "application/json",
|
||||||
},
|
"Authorization": self.auth_key,
|
||||||
)
|
},
|
||||||
return loads(raw_data)
|
)
|
||||||
|
return loads(raw_data)
|
||||||
|
except HTTPError as e:
|
||||||
|
e.add_note(e.url)
|
||||||
|
raise
|
||||||
|
|
||||||
def _put(self, endpoint: str, **body_params: str) -> JSONDataMap:
|
def _put(self, endpoint: str, **body_params: str) -> JSONDataMap:
|
||||||
raw_data = put(
|
raw_data = put(
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
from ssl import SSLContext, create_default_context
|
||||||
from urllib.request import Request, urlopen
|
from urllib.request import Request, urlopen
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -8,12 +9,16 @@ def get(
|
||||||
) -> str:
|
) -> str:
|
||||||
with urlopen(
|
with urlopen(
|
||||||
Request(
|
Request(
|
||||||
url + ("?" + "&".join(f"{k}={v}" for k, v in query_params.items()))
|
url
|
||||||
if query_params
|
+ (
|
||||||
else "",
|
("?" + "&".join(f"{k}={v}" for k, v in query_params.items()))
|
||||||
|
if query_params
|
||||||
|
else ""
|
||||||
|
),
|
||||||
headers=headers or {},
|
headers=headers or {},
|
||||||
method="GET",
|
method="GET",
|
||||||
),
|
),
|
||||||
|
context=create_default_context(),
|
||||||
) as resp:
|
) as resp:
|
||||||
return resp.read().decode("utf-8")
|
return resp.read().decode("utf-8")
|
||||||
|
|
||||||
|
|
@ -30,5 +35,6 @@ def put(
|
||||||
headers=headers or {},
|
headers=headers or {},
|
||||||
method="PUT",
|
method="PUT",
|
||||||
),
|
),
|
||||||
|
context=create_default_context(),
|
||||||
) as resp:
|
) as resp:
|
||||||
return resp.read().decode("utf-8")
|
return resp.read().decode("utf-8")
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ def dump_scalar(entry: hints.JSONDataScalar) -> str:
|
||||||
case False:
|
case False:
|
||||||
return "false\n"
|
return "false\n"
|
||||||
case _:
|
case _:
|
||||||
return f"{entry:s}\n"
|
return f"{entry}\n"
|
||||||
|
|
||||||
|
|
||||||
def dump(obj: dict[str, hints.JSONDataScalar | list[hints.JSONDataScalar]]) -> str:
|
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 += ":"
|
ret += ":"
|
||||||
|
|
||||||
match value:
|
match value:
|
||||||
|
case []:
|
||||||
|
ret += " []\n"
|
||||||
case list() as entries:
|
case list() as entries:
|
||||||
ret += "\n"
|
ret += "\n"
|
||||||
for entry in entries:
|
for entry in entries:
|
||||||
ret += f" - {dump_scalar(entry)}"
|
ret += f" - {dump_scalar(entry)}"
|
||||||
|
|
||||||
case entry:
|
case entry:
|
||||||
ret += f" {dump_scalar(entry)}"
|
ret += f" {dump_scalar(entry)}"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue