From 5f00de0cd45fb7980cc3a7da42bb00440915d340 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Wed, 20 Nov 2024 13:23:04 -0800 Subject: [PATCH 1/3] Add "Replace" to publish type enum --- tableauserverclient/server/server.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tableauserverclient/server/server.py b/tableauserverclient/server/server.py index 02abb3fe3..30c635e31 100644 --- a/tableauserverclient/server/server.py +++ b/tableauserverclient/server/server.py @@ -119,6 +119,7 @@ class PublishMode: Append = "Append" Overwrite = "Overwrite" CreateNew = "CreateNew" + Replace = "Replace" def __init__(self, server_address, use_server_version=False, http_options=None, session_factory=None): self._auth_token = None From a3bd630c345c9aa6f4d9e39e0361936f0558adfd Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Mon, 9 Dec 2024 17:36:16 -0800 Subject: [PATCH 2/3] unit test Revert "unit test" This reverts commit 0366ac2814842fe78c99345b963294fb1f7cb193. From 8cf82263101721009927ea7d1ef14d9a08285256 Mon Sep 17 00:00:00 2001 From: Jac Fitzgerald Date: Fri, 27 Dec 2024 16:09:26 -0800 Subject: [PATCH 3/3] Update datasources_endpoint.py --- .../server/endpoint/datasources_endpoint.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tableauserverclient/server/endpoint/datasources_endpoint.py b/tableauserverclient/server/endpoint/datasources_endpoint.py index 88c739dcf..2c595aa98 100644 --- a/tableauserverclient/server/endpoint/datasources_endpoint.py +++ b/tableauserverclient/server/endpoint/datasources_endpoint.py @@ -260,13 +260,12 @@ def publish( else: raise TypeError("file should be a filepath or file object.") - if not mode or not hasattr(self.parent_srv.PublishMode, mode): - error = "Invalid mode defined." - raise ValueError(error) - # Construct the url with the defined mode url = f"{self.baseurl}?datasourceType={file_extension}" - if mode == self.parent_srv.PublishMode.Overwrite or mode == self.parent_srv.PublishMode.Append: + if not mode or not hasattr(self.parent_srv.PublishMode, mode): + error = f"Invalid mode defined: {mode}" + raise ValueError(error) + else: url += f"&{mode.lower()}=true" if as_job: