forked from tableau/document-api-python
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcolumnInstance.py
More file actions
38 lines (29 loc) · 1.44 KB
/
columnInstance.py
File metadata and controls
38 lines (29 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from tableaudocumentapi.table_calc import TableCalc
class ColumnInstance(object):
"""Class representing column instance XML element"""
def __init__(self, columnInstanceXmlElement):
self._column_instance_xml = columnInstanceXmlElement
self._column_instance_name = columnInstanceXmlElement.get('name')
self._column_instance_column = columnInstanceXmlElement.get('column').strip('[').strip(']')
self._column_instance_table_calc_xml = self._column_instance_xml.find('table-calc') if \
self._column_instance_xml else None
self._column_instance_table_calc = TableCalc(self._column_instance_table_calc_xml) if \
self._column_instance_table_calc_xml else None
@property
def column_instance_column(self):
return self._column_instance_column
@property
def column_instance_name(self):
return self._column_instance_name
@column_instance_column.setter
def column_instance_column(self, value):
processed_value = value.strip('[').strip(']')
self._column_instance_column = processed_value
self._column_instance_xml.set('column', "[{}]".format(processed_value))
@column_instance_name.setter
def column_instance_name(self, value):
self._column_instance_name = value
self._column_instance_xml.set('name', value)
@property
def column_instance_table_calc(self):
return self._column_instance_table_calc