Skip to content

Commit 82ff83a

Browse files
committed
Add type annotations
1 parent 95d6697 commit 82ff83a

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

tableauserverclient/models/task_item.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def __init__(
2727
priority: int,
2828
consecutive_failed_count: int = 0,
2929
schedule_id: Optional[str] = None,
30-
schedule_item: Optional[str] = None,
30+
schedule_item: Optional[ScheduleItem] = None,
3131
last_run_at: Optional[datetime] = None,
3232
target: Optional[Target] = None,
3333
):

tableauserverclient/server/endpoint/tasks_endpoint.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
from typing import List, Optional, Tuple, TYPE_CHECKING
23

34
from tableauserverclient.server.endpoint.endpoint import Endpoint, api
45
from tableauserverclient.server.endpoint.exceptions import MissingRequiredFieldError
@@ -7,13 +8,16 @@
78

89
from tableauserverclient.helpers.logging import logger
910

11+
if TYPE_CHECKING:
12+
from tableauserverclient.server.request_options import RequestOptions
13+
1014

1115
class Tasks(Endpoint):
1216
@property
13-
def baseurl(self):
17+
def baseurl(self) -> str:
1418
return "{0}/sites/{1}/tasks".format(self.parent_srv.baseurl, self.parent_srv.site_id)
1519

16-
def __normalize_task_type(self, task_type):
20+
def __normalize_task_type(self, task_type: str) -> str:
1721
"""
1822
The word for extract refresh used in API URL is "extractRefreshes".
1923
It is different than the tag "extractRefresh" used in the request body.
@@ -24,7 +28,9 @@ def __normalize_task_type(self, task_type):
2428
return task_type
2529

2630
@api(version="2.6")
27-
def get(self, req_options=None, task_type=TaskItem.Type.ExtractRefresh):
31+
def get(
32+
self, req_options: Optional["RequestOptions"] = None, task_type: str = TaskItem.Type.ExtractRefresh
33+
) -> Tuple[List[TaskItem], PaginationItem]:
2834
if task_type == TaskItem.Type.DataAcceleration:
2935
self.parent_srv.assert_at_least_version("3.8", "Data Acceleration Tasks")
3036

@@ -38,7 +44,7 @@ def get(self, req_options=None, task_type=TaskItem.Type.ExtractRefresh):
3844
return all_tasks, pagination_item
3945

4046
@api(version="2.6")
41-
def get_by_id(self, task_id):
47+
def get_by_id(self, task_id: str) -> TaskItem:
4248
if not task_id:
4349
error = "No Task ID provided"
4450
raise ValueError(error)
@@ -63,7 +69,7 @@ def create(self, extract_item: TaskItem) -> TaskItem:
6369
return server_response.content
6470

6571
@api(version="2.6")
66-
def run(self, task_item):
72+
def run(self, task_item: TaskItem) -> bytes:
6773
if not task_item.id:
6874
error = "Task item missing ID."
6975
raise MissingRequiredFieldError(error)
@@ -79,7 +85,7 @@ def run(self, task_item):
7985

8086
# Delete 1 task by id
8187
@api(version="3.6")
82-
def delete(self, task_id, task_type=TaskItem.Type.ExtractRefresh):
88+
def delete(self, task_id: str, task_type: str = TaskItem.Type.ExtractRefresh) -> None:
8389
if task_type == TaskItem.Type.DataAcceleration:
8490
self.parent_srv.assert_at_least_version("3.8", "Data Acceleration Tasks")
8591

0 commit comments

Comments
 (0)