8000 Fix support for tags in ViewItem (#470) · tableau/server-client-python@c5afbd6 · GitHub
[go: up one dir, main page]

Skip to content

Commit c5afbd6

Browse files
toomyemIrwin Dolobowsky
authored and
Irwin Dolobowsky
committed
Fix support for tags in ViewItem (#470)
Looks Good!
1 parent 122fe1a commit c5afbd6

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

tableauserverclient/models/view_item.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import xml.etree.ElementTree as ET
22
from ..datetime_helpers import parse_datetime
33
from .exceptions import UnpopulatedPropertyError
4+
from .tag_item import TagItem
45

56

67
class ViewItem(object):
@@ -119,6 +120,7 @@ def from_xml_element(cls, parsed_response, ns, workbook_id=''):
119120
workbook_elem = view_xml.find('.//t:workbook', namespaces=ns)
120121
owner_elem = view_xml.find('.//t:owner', namespaces=ns)
121122
project_elem = view_xml.find('.//t:project', namespaces=ns)
123+
tags_elem = view_xml.find('.//t:tags', namespaces=ns)
122124
view_item._created_at = parse_datetime(view_xml.get('createdAt', None))
123125
view_item._updated_at = parse_datetime(view_xml.get('updatedAt', None))
124126
view_item._id = view_xml.get('id', None)
@@ -142,5 +144,10 @@ def from_xml_element(cls, parsed_response, ns, workbook_id=''):
142144
elif workbook_elem is not None:
143145
view_item._workbook_id = workbook_elem.get('id', None)
144146

147+
if tags_elem is not None:
148+
tags = TagItem.from_xml_element(tags_elem, ns)
149+
view_item.tags = tags
150+
view_item._initial_tags = tags
151+
145152
all_view_items.append(view_item)
146153
return all_view_items

test/assets/view_get.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66
<workbook id="3cc6cd06-89ce-4fdc-b935-5294135d6d42" />
77
<owner id="5de011f8-5aa9-4d5b-b991-f462c8dd6bb7" />
88
<project id="5241e88d-d384-4fd7-9c2f-648b5247efc5" />
9+
<tags>
10+
<tag label="tag1" />
11+
<tag label="tag2" />
12+
</tags>
913
</view>
1014
<view id="fd252f73-593c-4c4e-8584-c032b8022adc" name="Overview" contentUrl="Superstore/sheets/Overview" createdAt="2002-05-30T09:00:00Z" updatedAt="2002-06-05T08:00:59Z" sheetType="story">
1115
<workbook id="6d13b0ca-043d-4d42-8c9d-3f3313ea3a00" />

test/test_view.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ def test_get(self):
4242
self.assertEqual('3cc6cd06-89ce-4fdc-b935-5294135d6d42', all_views[0].workbook_id)
4343
self.assertEqual('5de011f8-5aa9-4d5b-b991-f462c8dd6bb7', all_views[0].owner_id)
4444
self.assertEqual('5241e88d-d384-4fd7-9c2f-648b5247efc5', all_views[0].project_id)
45+
self.assertEqual(set(['tag1', 'tag2']), all_views[0].tags)
4546
self.assertIsNone(all_views[0].created_at)
4647
self.assertIsNone(all_views[0].updated_at)
4748
self.assertIsNone(all_views[0].sheet_type)

0 commit comments

Comments
 (0)
0