diff --git a/tableauserverclient/models/workbook_item.py b/tableauserverclient/models/workbook_item.py index 19642f3b1..2ccf2a149 100644 --- a/tableauserverclient/models/workbook_item.py +++ b/tableauserverclient/models/workbook_item.py @@ -39,6 +39,7 @@ def __init__(self, project_id: str, name: str = None, show_tabs: bool = False) - self.owner_id: Optional[str] = None self.project_id = project_id self.show_tabs = show_tabs + self.hidden_views = None self.tags: Set[str] = set() self.data_acceleration_config = { "acceleration_enabled": None, diff --git a/tableauserverclient/server/endpoint/workbooks_endpoint.py b/tableauserverclient/server/endpoint/workbooks_endpoint.py index a631ae170..4302c9936 100644 --- a/tableauserverclient/server/endpoint/workbooks_endpoint.py +++ b/tableauserverclient/server/endpoint/workbooks_endpoint.py @@ -306,7 +306,6 @@ def publish( connection_credentials: Optional["ConnectionCredentials"] = None, connections: Optional[Sequence[ConnectionItem]] = None, as_job: bool = False, - hidden_views: Optional[Sequence[str]] = None, skip_connection_check: bool = False, ): @@ -388,7 +387,6 @@ def publish( workbook_item, connection_credentials=conn_creds, connections=connections, - hidden_views=hidden_views, ) else: logger.info("Publishing {0} to server".format(filename)) @@ -410,7 +408,6 @@ def publish( file_contents, connection_credentials=conn_creds, connections=connections, - hidden_views=hidden_views, ) logger.debug("Request xml: {0} ".format(xml_request[:1000])) diff --git a/tableauserverclient/server/request_factory.py b/tableauserverclient/server/request_factory.py index 21db9c484..1e0c357dc 100644 --- a/tableauserverclient/server/request_factory.py +++ b/tableauserverclient/server/request_factory.py @@ -771,7 +771,6 @@ def _generate_xml( workbook_item, connection_credentials=None, connections=None, - hidden_views=None, ): xml_request = ET.Element("tsRequest") workbook_element = ET.SubElement(xml_request, "workbook") @@ -792,9 +791,9 @@ def _generate_xml( for connection in connections: _add_connections_element(connections_element, connection) - if hidden_views is not None: - views_element = ET.SubElement(workbook_element, "views") - for view_name in hidden_views: + if workbook_item.hidden_views is not None: + views_element = ET.SubElement(workbook_element, 'views') + for view_name in workbook_item.hidden_views: _add_hiddenview_element(views_element, view_name) return ET.tostring(xml_request) @@ -832,13 +831,11 @@ def publish_req( file_contents, connection_credentials=None, connections=None, - hidden_views=None, ): xml_request = self._generate_xml( workbook_item, connection_credentials=connection_credentials, connections=connections, - hidden_views=hidden_views, ) parts = { @@ -852,13 +849,11 @@ def publish_req_chunked( workbook_item, connection_credentials=None, connections=None, - hidden_views=None, ): xml_request = self._generate_xml( workbook_item, connection_credentials=connection_credentials, connections=connections, - hidden_views=hidden_views, ) parts = {"request_payload": ("", xml_request, "text/xml")} diff --git a/test/test_workbook.py b/test/test_workbook.py index 5ace90b2f..9bf81dbfd 100644 --- a/test/test_workbook.py +++ b/test/test_workbook.py @@ -591,11 +591,10 @@ def test_publish_with_hidden_view(self) -> None: sample_workbook = os.path.join(TEST_ASSET_DIR, 'SampleWB.twbx') publish_mode = self.server.PublishMode.CreateNew - new_workbook = self.server.workbooks.publish(new_workbook, - sample_workbook, - publish_mode, - hidden_views=['GDP per capita']) - + new_workbook.hidden_views = ['GDP per capita'] + new_workbook = self.server.workbooks.publish( + new_workbook, sample_workbook, publish_mode + ) request_body = m._adapter.request_history[0]._request.body # order of attributes in xml is unspecified self.assertTrue(re.search(rb'<\/views>', request_body))