Skip to content

Commit 769d6a2

Browse files
committed
fix: handle parameters for view filters
Closes #1632 Parameters need to be prefixed with "vf_Parameters." in order to be properly registered as setting a parameter value. This PR adds that prefix where it was missing, but leaves parameter names that already included the prefix unmodified.
1 parent a7af8b7 commit 769d6a2

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

tableauserverclient/server/request_options.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,14 @@ def parameter(self, name: str, value: str) -> Self:
387387
Self
388388
The current object
389389
"""
390-
self.view_parameters.append((name, value))
390+
prefix = "vf_Parameters."
391+
if name.startswith(prefix):
392+
proper_name = name
393+
elif name.startswith("Parameters."):
394+
proper_name = f"vf_{name}"
395+
else:
396+
proper_name = f"{prefix}{name}"
397+
self.view_parameters.append((proper_name, value))
391398
return self
392399

393400
def _append_view_filters(self, params) -> None:

test/test_request_option.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -321,14 +321,20 @@ def test_filtering_parameters(self) -> None:
321321
opts = TSC.PDFRequestOptions()
322322
opts.parameter("name1@", "value1")
323323
opts.parameter("name2$", "value2")
324+
opts.parameter("Parameters.name3", "value3")
325+
opts.parameter("vf_Parameters.name4", "value4")
324326
opts.page_type = TSC.PDFRequestOptions.PageType.Tabloid
325327

326328
resp = self.server.workbooks.get_request(url, request_object=opts)
327329
query_params = parse_qs(resp.request.query)
328-
self.assertIn("name1@", query_params)
329-
self.assertIn("value1", query_params["name1@"])
330-
self.assertIn("name2$", query_params)
331-
self.assertIn("value2", query_params["name2$"])
330+
self.assertIn("vf_parameters.name1@", query_params)
331+
self.assertIn("value1", query_params["vf_parameters.name1@"])
332+
self.assertIn("vf_parameters.name2$", query_params)
333+
self.assertIn("value2", query_params["vf_parameters.name2$"])
334+
self.assertIn("vf_parameters.name3", query_params)
335+
self.assertIn("value3", query_params["vf_parameters.name3"])
336+
self.assertIn("vf_parameters.name4", query_params)
337+
self.assertIn("value4", query_params["vf_parameters.name4"])
332338
self.assertIn("type", query_params)
333339
self.assertIn("tabloid", query_params["type"])
334340

0 commit comments

Comments
 (0)