8000 Remove setters and move to doing the conversion during parsing · SnarkyPapi/server-client-python@590f130 · GitHub
[go: up one dir, main page]

Skip to content

Commit 590f130

Browse files
author
Russell Hay
committed
Remove setters and move to doing the conversion during parsing
1 parent ab82968 commit 590f130

File tree

4 files changed

+3
-59
lines changed

4 files changed

+3
-59
lines changed

tableauserverclient/models/datasource_item.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import xml.etree.ElementTree as ET
22
from .exceptions import UnpopulatedPropertyError
3-
from .property_decorators import property_not_nullable, property_is_datetime
3+
from .property_decorators import property_not_nullable
44
from .tag_item import TagItem
55
from .. import NAMESPACE
66
from ..datetime_helpers import parse_datetime
@@ -35,11 +35,6 @@ def content_url(self):
3535
def created_at(self):
3636
return self._created_at
3737

38-
@created_at.setter
39-
@property_is_datetime
40-
def created_at(self, value):
41-
self._created_at = value
42-
4338
@property
4439
def id(self):
4540
return self._id

tableauserverclient/models/schedule_item.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from datetime import datetime
33

44
from .interval_item import IntervalItem, HourlyInterval, DailyInterval, WeeklyInterval, MonthlyInterval
5-
from .property_decorators import property_is_enum, property_not_nullable, property_is_int, property_is_datetime
5+
from .property_decorators import property_is_enum, property_not_nullable, property_is_int
66
from .. import NAMESPACE
77
from ..datetime_helpers import parse_datetime
88

@@ -37,11 +37,6 @@ def __init__(self, name, priority, schedule_type, execution_order, interval_item
3737
def created_at(self):
3838
return self._created_at
3939

40-
@created_at.setter
41-
@property_is_datetime
42-
def created_at(self, value):
43-
self._created_at = value
44-
4540
@property
4641
def end_schedule_at(self):
4742
return self._end_schedule_at
@@ -104,11 +99,6 @@ def state(self, value):
10499
def updated_at(self):
105100
return self._updated_at
106101

107-
@updated_at.setter
108-
@property_is_datetime
109-
def updated_at(self, value):
110-
self._updated_at = value
111-
112102
def _parse_common_tags(self, schedule_xml):
113103
if not isinstance(schedule_xml, ET.Element):
114104
schedule_xml = ET.fromstring(schedule_xml).find('.//t:schedule', namespaces=NAMESPACE)

tableauserverclient/models/workbook_item.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import xml.etree.ElementTree as ET
22
from .exceptions import UnpopulatedPropertyError
3-
from .property_decorators import property_not_nullable, property_is_boolean, property_is_datetime
3+
from .property_decorators import property_not_nullable, property_is_boolean
44
from .tag_item import TagItem
55
from .view_item import ViewItem
66
from .. import NAMESPACE
@@ -41,11 +41,6 @@ def content_url(self):
4141
def created_at(self):
4242
return self._created_at
4343

44-
@created_at.setter
45-
@property_is_datetime
46-
def created_at(self, value):
47-
self._created_at = value
48-
4944
@property
5045
def id(self):
5146
return self._id
@@ -87,11 +82,6 @@ def size(self):
8782
def updated_at(self):
8883
return self._updated_at
8984

90-
@updated_at.setter
91-
@property_is_datetime
92-
def updated_at(self, value):
93-
self._updated_at = value
94-
9585
@property
9686
def views(self):
9787
if self._views is None:

test/test_datasource_model.py

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -9,34 +9,3 @@ def test_invalid_project_id(self):
99
datasource = TSC.DatasourceItem("10")
1010
with self.assertRaises(ValueError):
1111
datasource.project_id = None
12-
13-
def test_datetime_conversion(self):
14-
datasource = TSC.DatasourceItem("10")
15-
datasource.created_at = "2016-08-18T19:25:36Z"
16-
actual = datasource.created_at
17-
self.assertIsInstance(actual, datetime.datetime)
18-
self.assertEquals(actual.year, 2016)
19-
self.assertEquals(actual.month, 8)
20-
self.assertEquals(actual.day, 18)
21-
self.assertEquals(actual.hour, 19)
22-
self.assertEquals(actual.minute, 25)
23-
self.assertEquals(actual.second, 36)
24-
25-
def test_datetime_conversion_allows_datetime_passthrough(self):
26-
datasource = TSC.DatasourceItem("10")
27-
now = datetime.datetime.utcnow()
28-
datasource.created_at = now
29-
self.assertEquals(datasource.created_at, now)
30-
31-
def test_datetime_conversion_is_timezone_aware(self):
32-
datasource = TSC.DatasourceItem("10")
33-
datasource.created_at = "2016-08-18T19:25:36Z"
34-
actual = datasource.created_at
35-
self.assertEquals(actual.utcoffset().seconds, 0)
36-
37-
def test_datetime_conversion_rejects_things_that_cannot_be_converted(self):
38-
datasource = TSC.DatasourceItem("10")
39-
with self.assertRaises(ValueError):
40-
datasource.created_at = object()
41-
with self.assertRaises(ValueError):
42-
datasource.created_at = "This is so not a datetime"

0 commit comments

Comments
 (0)
0