Skip to content

Commit 42ccd1c

Browse files
committed
add safe sdk
1 parent 1108f6c commit 42ccd1c

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

taskbadger/safe_sdk.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import logging
2-
from typing import Optional
2+
from typing import Optional, ParamSpec, Unpack
33

44
from .sdk import Mug, create_task, update_task
55

6+
P = ParamSpec("P")
7+
68
log = logging.getLogger("taskbadger")
79

810

9-
def create_task_safe(name: str, **kwargs) -> Optional[str]:
10-
"""Create a Task.
11+
def create_task_safe(name: str, **kwargs: P.kwargs) -> Optional[str]:
12+
"""Safely create a task. Any errors are handled and logged.
1113
1214
Arguments:
1315
name: The name of the task.
14-
**kwargs: See ``taskbadger.create_task``
16+
**kwargs: See [taskbadger.create_task][]
1517
1618
Returns:
17-
Task ID
19+
Task ID or None
1820
"""
1921
if not Mug.is_configured:
2022
return None
@@ -27,13 +29,12 @@ def create_task_safe(name: str, **kwargs) -> Optional[str]:
2729
return task.id
2830

2931

30-
def update_task_safe(task_id: str, **kwargs) -> None:
31-
"""Update a task.
32-
Requires only the task ID and fields to update.
32+
def update_task_safe(task_id: str, **kwargs: P.kwargs) -> None:
33+
"""Safely update a task. Any errors are handled and logged.
3334
3435
Arguments:
3536
task_id: The ID of the task to update.
36-
**kwargs: See ``taskbadger.update_task``
37+
**kwargs: See [taskbadger.update_task][]
3738
"""
3839
if not Mug.is_configured:
3940
return

0 commit comments

Comments
 (0)