Skip to content

Commit c23a024

Browse files
committed
docs(tracker): add examples to docstrings
1 parent 389f6f6 commit c23a024

File tree

1 file changed

+38
-2
lines changed

1 file changed

+38
-2
lines changed

toggl_api/tracker.py

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,12 @@
1616

1717
@dataclass
1818
class TrackerBody(BaseBody):
19-
"""JSON body dataclass for PUT, POST & PATCH requests."""
19+
"""JSON body dataclass for PUT, POST & PATCH requests.
20+
21+
Examples:
22+
>>> TrackerBody(description="What a wonderful tracker description!", project_id=2123132)
23+
TrackerBody(description='What a wonderful tracker description!', project_id=2123132)
24+
"""
2025

2126
description: Optional[str] = field(default=None)
2227
duration: Optional[int | timedelta] = field(default=None)
@@ -89,6 +94,16 @@ class TrackerEndpoint(TogglCachedEndpoint):
8994
See the [UserEndpoint][toggl_api.UserEndpoint] for _GET_ specific requests.
9095
9196
[Official Documentation](https://engineering.toggl.com/docs/api/time_entries)
97+
98+
Examples:
99+
>>> tracker_endpoint = TrackerEndpoint(324525, BasicAuth(...), JSONCache(Path("cache")))
100+
101+
>>> body = TrackerBody(description="What a wonderful tracker description!", project_id=2123132)
102+
>>> tracker = tracker_endpoint.add(body)
103+
TogglTracker(id=58687689, name="What a wonderful tracker description!", project=2123132, ...)
104+
105+
>>> tracker_endpoint.delete(tracker)
106+
None
92107
"""
93108

94109
TRACKER_ALREADY_STOPPED: Final[int] = 409
@@ -100,6 +115,11 @@ def edit(self, tracker: TogglTracker | int, body: TrackerBody) -> TogglTracker |
100115
101116
[Official Documentation](https://engineering.toggl.com/docs/api/time_entries#put-timeentries)
102117
118+
Examples:
119+
>>> body = TrackerBody(description="What a wonderful tracker description!", project_id=2123132)
120+
>>> tracker_endpoint.edit(58687684, body)
121+
TogglTracker(id=58687684, name="What a wonderful tracker description!", project=2123132, ...)
122+
103123
Args:
104124
tracker: Target tracker model or id to edit.
105125
body: Updated content to add.
@@ -132,6 +152,10 @@ def delete(self, tracker: TogglTracker | int) -> None:
132152
133153
[Official Documentation](https://engineering.toggl.com/docs/api/time_entries#delete-timeentries)
134154
155+
Examples:
156+
>>> tracker_endpoint.delete(58687684)
157+
None
158+
135159
Args:
136160
tracker: Tracker object with ID to delete.
137161
@@ -165,8 +189,15 @@ def stop(self, tracker: TogglTracker | int) -> TogglTracker | None:
165189
166190
[Official Documentation](https://engineering.toggl.com/docs/api/time_entries#patch-stop-timeentry)
167191
192+
Examples:
193+
>>> tracker_endpoint.stop(58687684)
194+
TogglTracker(id=58687684, name="What a wonderful tracker description!", ...)
195+
168196
Args:
169-
tracker: Tracker object with IP to stop.
197+
tracker: Tracker id to stop. An integer or model.
198+
199+
Raises:
200+
HTTPStatusError: For anything thats not 'ok' or a '409' status code.
170201
171202
Returns:
172203
TogglTracker | None: If the tracker was stopped or if the tracker
@@ -193,6 +224,11 @@ def add(self, body: TrackerBody) -> TogglTracker | None:
193224
194225
[Official Documentation](https://engineering.toggl.com/docs/api/time_entries#post-timeentries)
195226
227+
Examples:
228+
>>> body = TrackerBody(description="Tracker description!", project_id=2123132)
229+
>>> tracker_endpoint.edit(body)
230+
TogglTracker(id=78895400, name="Tracker description!", project=2123132, ...)
231+
196232
Args:
197233
body: Body of the request. Description must be set. If start date
198234
is not set it will be set to current time with duration set

0 commit comments

Comments
 (0)