diff --git a/tableauserverclient/server/request_options.py b/tableauserverclient/server/request_options.py index 4a104255..e6fbc7d7 100644 --- a/tableauserverclient/server/request_options.py +++ b/tableauserverclient/server/request_options.py @@ -384,7 +384,14 @@ def parameter(self, name: str, value: str) -> Self: Self The current object """ - self.view_parameters.append((name, value)) + prefix = "vf_Parameters." + if name.startswith(prefix): + proper_name = name + elif name.startswith("Parameters."): + proper_name = f"vf_{name}" + else: + proper_name = f"{prefix}{name}" + self.view_parameters.append((proper_name, value)) return self def _append_view_filters(self, params) -> None: diff --git a/test/test_request_option.py b/test/test_request_option.py index 57dfdc2a..9b0b547a 100644 --- a/test/test_request_option.py +++ b/test/test_request_option.py @@ -321,14 +321,20 @@ def test_filtering_parameters(self) -> None: opts = TSC.PDFRequestOptions() opts.parameter("name1@", "value1") opts.parameter("name2$", "value2") + opts.parameter("Parameters.name3", "value3") + opts.parameter("vf_Parameters.name4", "value4") opts.page_type = TSC.PDFRequestOptions.PageType.Tabloid resp = self.server.workbooks.get_request(url, request_object=opts) query_params = parse_qs(resp.request.query) - self.assertIn("name1@", query_params) - self.assertIn("value1", query_params["name1@"]) - self.assertIn("name2$", query_params) - self.assertIn("value2", query_params["name2$"]) + self.assertIn("vf_parameters.name1@", query_params) + self.assertIn("value1", query_params["vf_parameters.name1@"]) + self.assertIn("vf_parameters.name2$", query_params) + self.assertIn("value2", query_params["vf_parameters.name2$"]) + self.assertIn("vf_parameters.name3", query_params) + self.assertIn("value3", query_params["vf_parameters.name3"]) + self.assertIn("vf_parameters.name4", query_params) + self.assertIn("value4", query_params["vf_parameters.name4"]) self.assertIn("type", query_params) self.assertIn("tabloid", query_params["type"])