From ecbdecedd14c34972c5d42128f7032c2cd08081e Mon Sep 17 00:00:00 2001 From: Chris Shin Date: Tue, 10 Apr 2018 17:28:21 -0700 Subject: [PATCH] adding project id field to view_item --- tableauserverclient/models/view_item.py | 12 +++++++++++- test/assets/view_get.xml | 2 ++ test/test_view.py | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) 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: