diff --git a/tableauserverclient/models/view_item.py b/tableauserverclient/models/view_item.py
index a8c1a6988..1fc6d4e8e 100644
--- a/tableauserverclient/models/view_item.py
+++ b/tableauserverclient/models/view_item.py
@@ -11,6 +11,7 @@ def __init__(self):
self._name = None
self._owner_id = None
self._preview_image = None
+ self._project_id = None
self._pdf = None
self._csv = None
self._total_views = None
@@ -59,6 +60,10 @@ def preview_image(self):
raise UnpopulatedPropertyError(error)
return self._preview_image()
+ @property
+ def project_id(self):
+ return self._project_id
+
@property
def pdf(self):
if self._pdf is None:
@@ -97,6 +102,7 @@ def from_xml_element(cls, parsed_response, ns, workbook_id=''):
usage_elem = view_xml.find('.//t:usage', namespaces=ns)
workbook_elem = view_xml.find('.//t:workbook', namespaces=ns)
owner_elem = view_xml.find('.//t:owner', namespaces=ns)
+ project_elem = view_xml.find('.//t:project', namespaces=ns)
view_item._id = view_xml.get('id', None)
view_item._name = view_xml.get('name', None)
view_item._content_url = view_xml.get('contentUrl', None)
@@ -107,10 +113,14 @@ def from_xml_element(cls, parsed_response, ns, workbook_id=''):
if owner_elem is not None:
view_item._owner_id = owner_elem.get('id', None)
- all_view_items.append(view_item)
+
+ if project_elem is not None:
+ view_item._project_id = project_elem.get('id', None)
if workbook_id:
view_item._workbook_id = workbook_id
elif workbook_elem is not None:
view_item._workbook_id = workbook_elem.get('id', None)
+
+ all_view_items.append(view_item)
return all_view_items
diff --git a/test/assets/view_get.xml b/test/assets/view_get.xml
index c8e0601bd..36f43e255 100644
--- a/test/assets/view_get.xml
+++ b/test/assets/view_get.xml
@@ -5,10 +5,12 @@
+
+
\ No newline at end of file
diff --git a/test/test_view.py b/test/test_view.py
index 09ce2f3d7..292f86887 100644
--- a/test/test_view.py
+++ b/test/test_view.py
@@ -39,12 +39,14 @@ def test_get(self):
self.assertEqual('SafariSample/sheets/ENDANGEREDSAFARI', all_views[0].content_url)
self.assertEqual('3cc6cd06-89ce-4fdc-b935-5294135d6d42', all_views[0].workbook_id)
self.assertEqual('5de011f8-5aa9-4d5b-b991-f462c8dd6bb7', all_views[0].owner_id)
+ self.assertEqual('5241e88d-d384-4fd7-9c2f-648b5247efc5', all_views[0].project_id)
self.assertEqual('fd252f73-593c-4c4e-8584-c032b8022adc', all_views[1].id)
self.assertEqual('Overview', all_views[1].name)
self.assertEqual('Superstore/sheets/Overview', all_views[1].content_url)
self.assertEqual('6d13b0ca-043d-4d42-8c9d-3f3313ea3a00', all_views[1].workbook_id)
self.assertEqual('5de011f8-5aa9-4d5b-b991-f462c8dd6bb7', all_views[1].owner_id)
+ self.assertEqual('5b534f74-3226-11e8-b47a-cb2e00f738a3', all_views[1].project_id)
def test_get_with_usage(self):
with open(GET_XML_USAGE, 'rb') as f: