Skip to content

Commit 2821592

Browse files
authored
Add publish samples attribute (#1264)
1 parent 4caf0a5 commit 2821592

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

samples/create_project.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,14 @@ def main():
5757
server.use_server_version()
5858

5959
# Without parent_id specified, projects are created at the top level.
60-
top_level_project = TSC.ProjectItem(name="Top Level Project")
60+
# With the publish-samples attribute, the project will be created with sample items
61+
top_level_project = TSC.ProjectItem(
62+
name="Top Level Project",
63+
description="A sample tsc project",
64+
content_permissions=None,
65+
parent_id=None,
66+
samples=True,
67+
)
6168
top_level_project = create_project(server, top_level_project)
6269

6370
# Specifying parent_id creates a nested projects.

tableauserverclient/models/project_item.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,15 @@ def __init__(
2525
description: Optional[str] = None,
2626
content_permissions: Optional[str] = None,
2727
parent_id: Optional[str] = None,
28+
samples: Optional[bool] = None,
2829
) -> None:
2930
self._content_permissions = None
3031
self._id: Optional[str] = None
3132
self.description: Optional[str] = description
3233
self.name: str = name
3334
self.content_permissions: Optional[str] = content_permissions
3435
self.parent_id: Optional[str] = parent_id
36+
self._samples: Optional[bool] = samples
3537

3638
self._permissions = None
3739
self._default_workbook_permissions = None

tableauserverclient/server/endpoint/projects_endpoint.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ def update(self, project_item: ProjectItem, samples: bool = False) -> ProjectIte
6363
def create(self, project_item: ProjectItem, samples: bool = False) -> ProjectItem:
6464
params = {"params": {RequestOptions.Field.PublishSamples: samples}}
6565
url = self.baseurl
66+
if project_item._samples:
67+
url = "{0}?publishSamples={1}".format(self.baseurl, project_item._samples)
6668
create_req = RequestFactory.Project.create_req(project_item)
6769
server_response = self.post_request(url, create_req, XML_CONTENT_TYPE, params)
6870
new_project = ProjectItem.from_response(server_response.content, self.parent_srv.namespace)[0]

0 commit comments

Comments
 (0)