Skip to content

Commit 07fc7e9

Browse files
committed
fix: allow specifying timeout for get_visualization
It was reported by customer that they would appreciate to have the timeout setting for get_visualization method. We agreed that it would be the best to have this setting for every exposed method. In this first iteration, it is only exposed for this specific method. Note, that we want to add it for other methods in the future, and also add global setting. JIRA: EB-119
1 parent 70dc039 commit 07fc7e9

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

gooddata-sdk/gooddata_sdk/visualization.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import functools
55
from collections import defaultdict
66
from enum import Enum
7-
from typing import Any, Optional, Union, cast
7+
from typing import Any, Optional, Tuple, Union, cast
88

99
from gooddata_sdk.client import GoodDataApiClient
1010
from gooddata_sdk.compute.model.attribute import Attribute
@@ -736,14 +736,20 @@ def get_visualizations(self, workspace_id: str) -> list[Visualization]:
736736

737737
return [Visualization(vis_obj, side_loads) for vis_obj in vis_objects.data]
738738

739-
def get_visualization(self, workspace_id: str, visualization_id: str) -> Visualization:
739+
def get_visualization(
740+
self, workspace_id: str, visualization_id: str, timeout: Optional[Union[int, float, Tuple]] = None
741+
) -> Visualization:
740742
"""Gets a single visualization from a workspace.
741743
742744
Args:
743745
workspace_id (str):
744746
Workspace identification string e.g. "demo"
745747
visualization_id (str):
746748
Visualization identifier string e.g. "bikes"
749+
timeout (int | float | tuple):
750+
Timeout in seconds for the request. If a tuple is provided, the first element is the connect timeout
751+
and the second element is the read timeout. If a single value is provided, it is used as both connect
752+
and read timeout. If None, the default timeout is used.
747753
748754
Returns:
749755
Visualization:
@@ -754,6 +760,7 @@ def get_visualization(self, workspace_id: str, visualization_id: str) -> Visuali
754760
object_id=visualization_id,
755761
include=["ALL"],
756762
_check_return_type=False,
763+
_request_timeout=timeout,
757764
)
758765
side_loads = SideLoads(vis_obj.included)
759766

0 commit comments

Comments
 (0)