Skip to content

Commit ca80baa

Browse files
committed
Extract function to generate default request IDs
1 parent b644386 commit ca80baa

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

todoist_api_python/_core/utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import asyncio
44
import sys
5+
import uuid
56
from datetime import date, datetime, timezone
67
from typing import TYPE_CHECKING, TypeVar, cast
78

@@ -69,3 +70,8 @@ def parse_datetime(datetime_str: str) -> datetime:
6970
datetime_str = datetime_str[:-1] + "+00:00"
7071
return datetime.fromisoformat(datetime_str)
7172
return datetime.fromisoformat(datetime_str)
73+
74+
75+
def default_request_id_fn() -> str:
76+
"""Generate random UUIDv4s as the default request ID."""
77+
return str(uuid.uuid4())

todoist_api_python/api.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from __future__ import annotations
22

33
import sys
4-
import uuid
54
from collections.abc import Callable, Iterator
65
from typing import TYPE_CHECKING, Annotated, Any, Literal, TypeVar
76
from weakref import finalize
@@ -28,7 +27,11 @@
2827
get_api_url,
2928
)
3029
from todoist_api_python._core.http_requests import delete, get, post
31-
from todoist_api_python._core.utils import format_date, format_datetime
30+
from todoist_api_python._core.utils import (
31+
default_request_id_fn,
32+
format_date,
33+
format_datetime,
34+
)
3235
from todoist_api_python.models import (
3336
Attachment,
3437
Collaborator,
@@ -95,7 +98,7 @@ class TodoistAPI:
9598
def __init__(
9699
self,
97100
token: str,
98-
request_id_fn: Callable[[], str] | None = lambda: str(uuid.uuid4()),
101+
request_id_fn: Callable[[], str] | None = default_request_id_fn,
99102
session: requests.Session | None = None,
100103
) -> None:
101104
"""

todoist_api_python/api_async.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
from __future__ import annotations
22

33
import sys
4-
import uuid
54
from typing import TYPE_CHECKING, Annotated, Callable, Literal, TypeVar
65

76
from annotated_types import Ge, Le, MaxLen, MinLen
87

9-
from todoist_api_python._core.utils import generate_async, run_async
8+
from todoist_api_python._core.utils import (
9+
default_request_id_fn,
10+
generate_async,
11+
run_async,
12+
)
1013
from todoist_api_python.api import TodoistAPI
1114

1215
if TYPE_CHECKING:
@@ -52,7 +55,7 @@ class TodoistAPIAsync:
5255
def __init__(
5356
self,
5457
token: str,
55-
request_id_fn: Callable[[], str] | None = lambda: str(uuid.uuid4()),
58+
request_id_fn: Callable[[], str] | None = default_request_id_fn,
5659
session: requests.Session | None = None,
5760
) -> None:
5861
"""

0 commit comments

Comments
 (0)