1
1
from __future__ import annotations
2
2
3
3
from collections .abc import Callable , Iterator
4
- from datetime import UTC
5
4
from typing import TYPE_CHECKING , Annotated , Any , Literal , Self , TypeVar
6
5
from weakref import finalize
7
6
23
22
get_api_url ,
24
23
)
25
24
from todoist_api_python ._core .http_requests import delete , get , post
25
+ from todoist_api_python ._core .utils import format_date , format_datetime
26
26
from todoist_api_python .models import (
27
27
Attachment ,
28
28
Collaborator ,
@@ -287,9 +287,9 @@ def add_task( # noqa: PLR0912
287
287
if due_lang is not None :
288
288
data ["due_lang" ] = due_lang
289
289
if due_date is not None :
290
- data ["due_date" ] = _format_date (due_date )
290
+ data ["due_date" ] = format_date (due_date )
291
291
if due_datetime is not None :
292
- data ["due_datetime" ] = _format_datetime (due_datetime )
292
+ data ["due_datetime" ] = format_datetime (due_datetime )
293
293
if assignee_id is not None :
294
294
data ["assignee_id" ] = assignee_id
295
295
if order is not None :
@@ -303,7 +303,7 @@ def add_task( # noqa: PLR0912
303
303
if duration_unit is not None :
304
304
data ["duration_unit" ] = duration_unit
305
305
if deadline_date is not None :
306
- data ["deadline_date" ] = _format_date (deadline_date )
306
+ data ["deadline_date" ] = format_date (deadline_date )
307
307
if deadline_lang is not None :
308
308
data ["deadline_lang" ] = deadline_lang
309
309
@@ -412,9 +412,9 @@ def update_task( # noqa: PLR0912
412
412
if due_lang is not None :
413
413
data ["due_lang" ] = due_lang
414
414
if due_date is not None :
415
- data ["due_date" ] = _format_date (due_date )
415
+ data ["due_date" ] = format_date (due_date )
416
416
if due_datetime is not None :
417
- data ["due_datetime" ] = _format_datetime (due_datetime )
417
+ data ["due_datetime" ] = format_datetime (due_datetime )
418
418
if assignee_id is not None :
419
419
data ["assignee_id" ] = assignee_id
420
420
if day_order is not None :
@@ -426,7 +426,7 @@ def update_task( # noqa: PLR0912
426
426
if duration_unit is not None :
427
427
data ["duration_unit" ] = duration_unit
428
428
if deadline_date is not None :
429
- data ["deadline_date" ] = _format_date (deadline_date )
429
+ data ["deadline_date" ] = format_date (deadline_date )
430
430
if deadline_lang is not None :
431
431
data ["deadline_lang" ] = deadline_lang
432
432
@@ -1151,19 +1151,3 @@ def __next__(self) -> list[T]:
1151
1151
1152
1152
results : list [Any ] = data .get (self ._results_field , [])
1153
1153
return [self ._results_inst (result ) for result in results ]
1154
-
1155
-
1156
- def _format_date (d : date ) -> str :
1157
- """Format a date object as YYYY-MM-DD."""
1158
- return d .isoformat ()
1159
-
1160
-
1161
- def _format_datetime (dt : datetime ) -> str :
1162
- """
1163
- Format a datetime object.
1164
-
1165
- YYYY-MM-DDTHH:MM:SS for naive datetimes; YYYY-MM-DDTHH:MM:SSZ for aware datetimes.
1166
- """
1167
- if dt .tzinfo is None :
1168
- return dt .isoformat ()
1169
- return dt .astimezone (UTC ).isoformat ().replace ("+00:00" , "Z" )
0 commit comments