8000 Merge pull request #178 from dev-mkc19/master · jacalata/document-api-python@ad90152 · GitHub
[go: up one dir, main page]

Skip to content

Commit ad90152

Browse files
authored
Merge pull request tableau#178 from dev-mkc19/master
add shape property
2 parents 8eb3a59 + c5a63ee commit ad90152

File tree

3 files changed

+3371
-2
lines changed

3 files changed

+3371
-2
lines changed

tableaudocumentapi/workbook.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ def __init__(self, filename):
2727
self._datasource_index = self._prepare_datasource_index(self._datasources)
2828

2929
self._worksheets = self._prepare_worksheets(
30-
self._workbookRoot, self._datasource_index
31-
)
30+
self._workbookRoot, self._datasource_index)
31+
32+
self._shapes = self._prepare_shapes(self._workbookRoot)
3233

3334
@property
3435
def datasources(self):
@@ -42,6 +43,10 @@ def worksheets(self):
4243
def filename(self):
4344
return self._filename
4445

46+
@property
47+
def shapes(self):
48+
return self._shapes
49+
4550
def save(self):
4651
"""
4752
Call finalization code and save file.
@@ -116,3 +121,16 @@ def _prepare_worksheets(xml_root, ds_index):
116121
datasource.fields[column_name].add_used_in(worksheet_name)
117122

118123
return worksheets
124+
125+
@staticmethod
126+
def _prepare_shapes(xml_root):
127+
shapes = []
128+
worksheets_element = xml_root.find('.//external/shapes')
129+
if worksheets_element is None:
130+
return shapes
131+
132+
for worksheet_element in worksheets_element:
133+
shape_name = worksheet_element.attrib['name']
134+
shapes.append(shape_name)
135+
136+
return shapes

0 commit comments

Comments
 (0)
0