Skip to content

Commit a8b3424

Browse files
authored
Merge pull request #912 from tableau/datasource_desc
Adds description to datasource item
2 parents 072ddb4 + 55dd640 commit a8b3424

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

tableauserverclient/models/datasource_item.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def __init__(self, project_id, name=None):
2424
self._content_url = None
2525
self._created_at = None
2626
self._datasource_type = None
27+
self._description = None
2728
self._encrypt_extracts = None
2829
self._has_extracts = None
2930
self._id = None
@@ -131,6 +132,14 @@ def project_name(self):
131132
def datasource_type(self):
132133
return self._datasource_type
133134

135+
@property
136+
def description(self):
137+
return self._description
138+
139+
@description.setter
140+
def description(self, value):
141+
self._description = value
142+
134143
@property
135144
def updated_at(self):
136145
return self._updated_at
@@ -314,6 +323,15 @@ def from_response(cls, resp, ns):
314323

315324
@staticmethod
316325
def _parse_element(datasource_xml, ns):
326+
id_ = datasource_xml.get('id', None)
327+
name = datasource_xml.get('name', None)
328+
datasource_type = datasource_xml.get('type', None)
329+
description = datasource_xml.get('description', None)
330+
content_url = datasource_xml.get('contentUrl', None)
331+
created_at = parse_datetime(datasource_xml.get('createdAt', None))
332+
updated_at = parse_datetime(datasource_xml.get('updatedAt', None))
333+
certification_note = datasource_xml.get('certificationNote', None)
334+
certified = str(datasource_xml.get('isCertified', None)).lower() == 'true'
317335
certification_note = datasource_xml.get("certificationNote", None)
318336
certified = str(datasource_xml.get("isCertified", None)).lower() == "true"
319337
content_url = datasource_xml.get("contentUrl", None)

test/assets/datasource_get.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-2.3.xsd">
33
<pagination pageNumber="1" pageSize="100" totalAvailable="2" />
44
<datasources>
5-
<datasource id="e76a1461-3b1d-4588-bf1b-17551a879ad9" name="SampleDS" contentUrl="SampleDS" type="dataengine" createdAt="2016-08-11T21:22:40Z" updatedAt="2016-08-11T21:34:17Z" encryptExtracts="false" hasExtracts="true" useRemoteQueryAgent="false" webpageUrl="https://web.com">
5+
<datasource id="e76a1461-3b1d-4588-bf1b-17551a879ad9" name="SampleDS" contentUrl="SampleDS" description="SampleDsDescription" type="dataengine" createdAt="2016-08-11T21:22:40Z" updatedAt="2016-08-11T21:34:17Z" encryptExtracts="false" hasExtracts="true" useRemoteQueryAgent="false" webpageUrl="https://web.com">
66
<project id="ee8c6e70-43b6-11e6-af4f-f7b0d8e20760" name="default" />
77
<owner id="5de011f8-5aa9-4d5b-b991-f462c8dd6bb7" />
88
<tags />
99
</datasource>
10-
<datasource id="9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" name="Sample datasource" contentUrl="Sampledatasource" type="dataengine" createdAt="2016-08-04T21:31:55Z" updatedAt="2016-08-04T21:31:55Z" encryptExtracts="true" hasExtracts="false" useRemoteQueryAgent="true" webpageUrl="https://page.com">
10+
<datasource id="9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" name="Sample datasource" description="description Sample" contentUrl="Sampledatasource" type="dataengine" createdAt="2016-08-04T21:31:55Z" updatedAt="2016-08-04T21:31:55Z" encryptExtracts="true" hasExtracts="false" useRemoteQueryAgent="true" webpageUrl="https://page.com">
1111
<project id="ee8c6e70-43b6-11e6-af4f-f7b0d8e20760" name="default" />
1212
<owner id="5de011f8-5aa9-4d5b-b991-f462c8dd6bb7" />
1313
<tags>

test/assets/datasource_get_by_id.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version='1.0' encoding='UTF-8'?>
22
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-2.3.xsd">
3-
<datasource id="9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" name="Sample datasource" contentUrl="Sampledatasource" type="dataengine" createdAt="2016-08-04T21:31:55Z" updatedAt="2016-08-04T21:31:55Z" description="test-ds">
3+
<datasource id="9dbd2263-16b5-46e1-9c43-a76bb8ab65fb" name="Sample datasource" contentUrl="Sampledatasource" type="dataengine" createdAt="2016-08-04T21:31:55Z" updatedAt="2016-08-04T21:31:55Z" description="abc description xyz">
44
<project id="ee8c6e70-43b6-11e6-af4f-f7b0d8e20760" name="default" />
55
<owner id="5de011f8-5aa9-4d5b-b991-f462c8dd6bb7" />
66
<tags>

test/test_datasource.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ def test_get(self):
4646
self.assertEqual(2, pagination_item.total_available)
4747
self.assertEqual('e76a1461-3b1d-4588-bf1b-17551a879ad9', all_datasources[0].id)
4848
self.assertEqual('dataengine', all_datasources[0].datasource_type)
49+
self.assertEqual('SampleDsDescription', all_datasources[0].description)
4950
self.assertEqual('SampleDS', all_datasources[0].content_url)
5051
self.assertEqual('2016-08-11T21:22:40Z', format_datetime(all_datasources[0].created_at))
5152
self.assertEqual('2016-08-11T21:34:17Z', format_datetime(all_datasources[0].updated_at))
@@ -60,6 +61,7 @@ def test_get(self):
6061

6162
self.assertEqual('9dbd2263-16b5-46e1-9c43-a76bb8ab65fb', all_datasources[1].id)
6263
self.assertEqual('dataengine', all_datasources[1].datasource_type)
64+
self.assertEqual('description Sample', all_datasources[1].description)
6365
self.assertEqual('Sampledatasource', all_datasources[1].content_url)
6466
self.assertEqual('2016-08-04T21:31:55Z', format_datetime(all_datasources[1].created_at))
6567
self.assertEqual('2016-08-04T21:31:55Z', format_datetime(all_datasources[1].updated_at))
@@ -94,6 +96,7 @@ def test_get_by_id(self):
9496

9597
self.assertEqual('9dbd2263-16b5-46e1-9c43-a76bb8ab65fb', single_datasource.id)
9698
self.assertEqual('dataengine', single_datasource.datasource_type)
99+
self.assertEqual('abc description xyz', single_datasource.description)
97100
self.assertEqual('Sampledatasource', single_datasource.content_url)
98101
self.assertEqual('2016-08-04T21:31:55Z', format_datetime(single_datasource.created_at))
99102
self.assertEqual('2016-08-04T21:31:55Z', format_datetime(single_datasource.updated_at))
@@ -102,7 +105,6 @@ def test_get_by_id(self):
102105
self.assertEqual('ee8c6e70-43b6-11e6-af4f-f7b0d8e20760', single_datasource.project_id)
103106
self.assertEqual('5de011f8-5aa9-4d5b-b991-f462c8dd6bb7', single_datasource.owner_id)
104107
self.assertEqual(set(['world', 'indicators', 'sample']), single_datasource.tags)
105-
self.assertEqual("test-ds", single_datasource.description)
106108
self.assertEqual(TSC.DatasourceItem.AskDataEnablement.SiteDefault, single_datasource.ask_data_enablement)
107109

108110
def test_update(self):

0 commit comments

Comments
 (0)