smartsheet-python-sdk 3.5.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. smartsheet/__init__.py +37 -0
  2. smartsheet/attachments.py +565 -0
  3. smartsheet/cells.py +164 -0
  4. smartsheet/contacts.py +78 -0
  5. smartsheet/discussions.py +411 -0
  6. smartsheet/events.py +79 -0
  7. smartsheet/exceptions.py +130 -0
  8. smartsheet/favorites.py +116 -0
  9. smartsheet/folders.py +438 -0
  10. smartsheet/groups.py +186 -0
  11. smartsheet/home.py +180 -0
  12. smartsheet/images.py +61 -0
  13. smartsheet/models/__init__.py +126 -0
  14. smartsheet/models/access_token.py +95 -0
  15. smartsheet/models/account.py +77 -0
  16. smartsheet/models/alternate_email.py +88 -0
  17. smartsheet/models/asset_share.py +165 -0
  18. smartsheet/models/asset_shares_paginated_result.py +84 -0
  19. smartsheet/models/attachment.py +181 -0
  20. smartsheet/models/auto_number_format.py +81 -0
  21. smartsheet/models/automation_action.py +162 -0
  22. smartsheet/models/automation_rule.py +164 -0
  23. smartsheet/models/boolean_object_value.py +38 -0
  24. smartsheet/models/bulk_item_failure.py +77 -0
  25. smartsheet/models/bulk_item_result.py +111 -0
  26. smartsheet/models/cell.py +193 -0
  27. smartsheet/models/cell_data_item.py +152 -0
  28. smartsheet/models/cell_history.py +67 -0
  29. smartsheet/models/cell_link.py +91 -0
  30. smartsheet/models/cell_link_widget_content.py +101 -0
  31. smartsheet/models/chart_widget_content.py +124 -0
  32. smartsheet/models/column.py +253 -0
  33. smartsheet/models/comment.py +126 -0
  34. smartsheet/models/contact.py +88 -0
  35. smartsheet/models/contact_object_value.py +59 -0
  36. smartsheet/models/container_destination.py +74 -0
  37. smartsheet/models/copy_or_move_row_destination.py +54 -0
  38. smartsheet/models/copy_or_move_row_directive.py +64 -0
  39. smartsheet/models/copy_or_move_row_result.py +67 -0
  40. smartsheet/models/criteria.py +82 -0
  41. smartsheet/models/cross_sheet_reference.py +134 -0
  42. smartsheet/models/currency.py +64 -0
  43. smartsheet/models/date_object_value.py +56 -0
  44. smartsheet/models/datetime_object_value.py +56 -0
  45. smartsheet/models/discussion.py +183 -0
  46. smartsheet/models/downloaded_file.py +106 -0
  47. smartsheet/models/duration.py +112 -0
  48. smartsheet/models/email.py +82 -0
  49. smartsheet/models/enums/__init__.py +56 -0
  50. smartsheet/models/enums/access_level.py +26 -0
  51. smartsheet/models/enums/asset_type.py +10 -0
  52. smartsheet/models/enums/attachment_parent_type.py +23 -0
  53. smartsheet/models/enums/attachment_sub_type.py +26 -0
  54. smartsheet/models/enums/attachment_type.py +29 -0
  55. smartsheet/models/enums/automation_action_frequency.py +24 -0
  56. smartsheet/models/enums/automation_action_type.py +23 -0
  57. smartsheet/models/enums/automation_rule_disabled_reason.py +27 -0
  58. smartsheet/models/enums/cell_link_status.py +28 -0
  59. smartsheet/models/enums/column_type.py +31 -0
  60. smartsheet/models/enums/criteria_target.py +21 -0
  61. smartsheet/models/enums/cross_sheet_reference_status.py +28 -0
  62. smartsheet/models/enums/currency_code.py +43 -0
  63. smartsheet/models/enums/day_descriptors.py +30 -0
  64. smartsheet/models/enums/day_ordinal.py +25 -0
  65. smartsheet/models/enums/event_action.py +76 -0
  66. smartsheet/models/enums/event_obejct_type.py +34 -0
  67. smartsheet/models/enums/event_source.py +27 -0
  68. smartsheet/models/enums/global_template.py +23 -0
  69. smartsheet/models/enums/operator.py +62 -0
  70. smartsheet/models/enums/paper_type.py +29 -0
  71. smartsheet/models/enums/predecessor_type.py +24 -0
  72. smartsheet/models/enums/publish_accessible_by.py +22 -0
  73. smartsheet/models/enums/schedule_type.py +25 -0
  74. smartsheet/models/enums/seat_type.py +17 -0
  75. smartsheet/models/enums/share_scope.py +22 -0
  76. smartsheet/models/enums/share_type.py +22 -0
  77. smartsheet/models/enums/sheet_email_format.py +23 -0
  78. smartsheet/models/enums/sheet_filter_operator.py +22 -0
  79. smartsheet/models/enums/sheet_filter_type.py +23 -0
  80. smartsheet/models/enums/sort_direction.py +22 -0
  81. smartsheet/models/enums/symbol.py +45 -0
  82. smartsheet/models/enums/system_column_type.py +25 -0
  83. smartsheet/models/enums/update_request_status.py +23 -0
  84. smartsheet/models/enums/user_status.py +23 -0
  85. smartsheet/models/enums/widget_type.py +32 -0
  86. smartsheet/models/error.py +74 -0
  87. smartsheet/models/error_result.py +117 -0
  88. smartsheet/models/event.py +153 -0
  89. smartsheet/models/event_result.py +86 -0
  90. smartsheet/models/explicit_null.py +24 -0
  91. smartsheet/models/favorite.py +81 -0
  92. smartsheet/models/folder.py +177 -0
  93. smartsheet/models/font_family.py +63 -0
  94. smartsheet/models/format_details.py +55 -0
  95. smartsheet/models/format_tables.py +191 -0
  96. smartsheet/models/group.py +134 -0
  97. smartsheet/models/group_member.py +104 -0
  98. smartsheet/models/home.py +110 -0
  99. smartsheet/models/hyperlink.py +81 -0
  100. smartsheet/models/image.py +101 -0
  101. smartsheet/models/image_url.py +91 -0
  102. smartsheet/models/image_url_map.py +68 -0
  103. smartsheet/models/image_widget_content.py +117 -0
  104. smartsheet/models/index_result.py +118 -0
  105. smartsheet/models/json_object.py +59 -0
  106. smartsheet/models/multi_contact_object_value.py +49 -0
  107. smartsheet/models/multi_picklist_object_value.py +48 -0
  108. smartsheet/models/multi_row_email.py +60 -0
  109. smartsheet/models/number_object_value.py +38 -0
  110. smartsheet/models/o_auth_error.py +86 -0
  111. smartsheet/models/object_value.py +130 -0
  112. smartsheet/models/paginated_children_result.py +80 -0
  113. smartsheet/models/predecessor.py +102 -0
  114. smartsheet/models/predecessor_list.py +49 -0
  115. smartsheet/models/primitive_object_value.py +59 -0
  116. smartsheet/models/profile_image.py +72 -0
  117. smartsheet/models/project_settings.py +89 -0
  118. smartsheet/models/recipient.py +63 -0
  119. smartsheet/models/report.py +90 -0
  120. smartsheet/models/report_cell.py +59 -0
  121. smartsheet/models/report_column.py +67 -0
  122. smartsheet/models/report_publish.py +95 -0
  123. smartsheet/models/report_row.py +68 -0
  124. smartsheet/models/report_widget_content.py +78 -0
  125. smartsheet/models/result.py +105 -0
  126. smartsheet/models/row.py +336 -0
  127. smartsheet/models/row_email.py +83 -0
  128. smartsheet/models/row_mapping.py +77 -0
  129. smartsheet/models/schedule.py +140 -0
  130. smartsheet/models/scope.py +70 -0
  131. smartsheet/models/search_result.py +67 -0
  132. smartsheet/models/search_result_item.py +150 -0
  133. smartsheet/models/selection_range.py +86 -0
  134. smartsheet/models/sent_update_request.py +172 -0
  135. smartsheet/models/server_info.py +67 -0
  136. smartsheet/models/share.py +183 -0
  137. smartsheet/models/sheet.py +462 -0
  138. smartsheet/models/sheet_email.py +81 -0
  139. smartsheet/models/sheet_filter.py +106 -0
  140. smartsheet/models/sheet_filter_details.py +76 -0
  141. smartsheet/models/sheet_publish.py +184 -0
  142. smartsheet/models/sheet_summary.py +59 -0
  143. smartsheet/models/sheet_user_permissions.py +58 -0
  144. smartsheet/models/sheet_user_settings.py +72 -0
  145. smartsheet/models/shortcut_data_item.py +102 -0
  146. smartsheet/models/shortcut_widget_content.py +61 -0
  147. smartsheet/models/sight.py +175 -0
  148. smartsheet/models/sight_publish.py +77 -0
  149. smartsheet/models/sort_criterion.py +64 -0
  150. smartsheet/models/sort_specifier.py +55 -0
  151. smartsheet/models/source.py +83 -0
  152. smartsheet/models/string_object_value.py +38 -0
  153. smartsheet/models/summary_field.py +256 -0
  154. smartsheet/models/template.py +171 -0
  155. smartsheet/models/title_rich_text_widget_content.py +68 -0
  156. smartsheet/models/token_paginated_result.py +79 -0
  157. smartsheet/models/update_request.py +110 -0
  158. smartsheet/models/user.py +58 -0
  159. smartsheet/models/user_model.py +280 -0
  160. smartsheet/models/user_plan.py +77 -0
  161. smartsheet/models/user_profile.py +89 -0
  162. smartsheet/models/version.py +57 -0
  163. smartsheet/models/web_content_widget_content.py +60 -0
  164. smartsheet/models/webhook.py +219 -0
  165. smartsheet/models/webhook_secret.py +58 -0
  166. smartsheet/models/webhook_stats.py +76 -0
  167. smartsheet/models/webhook_subscope.py +50 -0
  168. smartsheet/models/widget.py +211 -0
  169. smartsheet/models/widget_content.py +52 -0
  170. smartsheet/models/widget_hyperlink.py +74 -0
  171. smartsheet/models/workspace.py +185 -0
  172. smartsheet/object_value.py +72 -0
  173. smartsheet/passthrough.py +127 -0
  174. smartsheet/reports.py +382 -0
  175. smartsheet/search.py +100 -0
  176. smartsheet/server.py +48 -0
  177. smartsheet/session.py +70 -0
  178. smartsheet/sharing.py +163 -0
  179. smartsheet/sheets.py +2062 -0
  180. smartsheet/sights.py +370 -0
  181. smartsheet/smartsheet.py +684 -0
  182. smartsheet/templates.py +87 -0
  183. smartsheet/token.py +128 -0
  184. smartsheet/types.py +323 -0
  185. smartsheet/users.py +490 -0
  186. smartsheet/util.py +199 -0
  187. smartsheet/version.py +34 -0
  188. smartsheet/webhooks.py +161 -0
  189. smartsheet/workspaces.py +647 -0
  190. smartsheet_python_sdk-3.5.5.dist-info/METADATA +120 -0
  191. smartsheet_python_sdk-3.5.5.dist-info/RECORD +195 -0
  192. smartsheet_python_sdk-3.5.5.dist-info/WHEEL +5 -0
  193. smartsheet_python_sdk-3.5.5.dist-info/licenses/LICENSE.md +201 -0
  194. smartsheet_python_sdk-3.5.5.dist-info/licenses/NOTICE +10 -0
  195. smartsheet_python_sdk-3.5.5.dist-info/top_level.txt +1 -0
@@ -0,0 +1,64 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101,C0103
2
+ # Smartsheet Python SDK.
3
+ #
4
+ # Copyright 2018 Smartsheet.com, Inc.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License"): you may
7
+ # not use this file except in compliance with the License. You may obtain
8
+ # a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
+ # License for the specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from __future__ import absolute_import
19
+
20
+ from ..types import TypedList, TypedObject, json
21
+ from ..util import deserialize, serialize
22
+ from .copy_or_move_row_destination import CopyOrMoveRowDestination
23
+
24
+
25
+ class CopyOrMoveRowDirective:
26
+
27
+ """Smartsheet CopyOrMoveRowDirective data model."""
28
+
29
+ def __init__(self, props=None, base_obj=None):
30
+ """Initialize the CopyOrMoveRowDirective model."""
31
+ self._base = None
32
+ if base_obj is not None:
33
+ self._base = base_obj
34
+
35
+ self._row_ids = TypedList(int)
36
+ self._to = TypedObject(CopyOrMoveRowDestination)
37
+
38
+ if props:
39
+ deserialize(self, props)
40
+
41
+ @property
42
+ def row_ids(self):
43
+ return self._row_ids
44
+
45
+ @row_ids.setter
46
+ def row_ids(self, value):
47
+ self._row_ids.load(value)
48
+
49
+ @property
50
+ def to(self):
51
+ return self._to.value
52
+
53
+ @to.setter
54
+ def to(self, value):
55
+ self._to.value = value
56
+
57
+ def to_dict(self):
58
+ return serialize(self)
59
+
60
+ def to_json(self):
61
+ return json.dumps(self.to_dict())
62
+
63
+ def __str__(self):
64
+ return self.to_json()
@@ -0,0 +1,67 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101
2
+ # Smartsheet Python SDK.
3
+ #
4
+ # Copyright 2018 Smartsheet.com, Inc.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License"): you may
7
+ # not use this file except in compliance with the License. You may obtain
8
+ # a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
+ # License for the specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from __future__ import absolute_import
19
+
20
+ from ..types import Number, TypedList, json
21
+ from ..util import deserialize, serialize
22
+ from .row_mapping import RowMapping
23
+
24
+
25
+ class CopyOrMoveRowResult:
26
+
27
+ """Smartsheet CopyOrMoveRowResult data model."""
28
+
29
+ def __init__(self, props=None, base_obj=None):
30
+ """Initialize the CopyOrMoveRowResult model."""
31
+ self._base = None
32
+ if base_obj is not None:
33
+ self._base = base_obj
34
+
35
+ self._destination_sheet_id = Number()
36
+ self._row_mappings = TypedList(RowMapping)
37
+
38
+ if props:
39
+ deserialize(self, props)
40
+
41
+ # requests package Response object
42
+ self.request_response = None
43
+
44
+ @property
45
+ def destination_sheet_id(self):
46
+ return self._destination_sheet_id.value
47
+
48
+ @destination_sheet_id.setter
49
+ def destination_sheet_id(self, value):
50
+ self._destination_sheet_id.value = value
51
+
52
+ @property
53
+ def row_mappings(self):
54
+ return self._row_mappings
55
+
56
+ @row_mappings.setter
57
+ def row_mappings(self, value):
58
+ self._row_mappings.load(value)
59
+
60
+ def to_dict(self):
61
+ return serialize(self)
62
+
63
+ def to_json(self):
64
+ return json.dumps(self.to_dict())
65
+
66
+ def __str__(self):
67
+ return self.to_json()
@@ -0,0 +1,82 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101
2
+ # Smartsheet Python SDK.
3
+ #
4
+ # Copyright 2018 Smartsheet.com, Inc.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License"): you may
7
+ # not use this file except in compliance with the License. You may obtain
8
+ # a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
+ # License for the specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from __future__ import absolute_import
19
+
20
+ from ..types import EnumeratedValue, Number, TypedList, json
21
+ from ..util import deserialize, serialize
22
+ from .enums import CriteriaTarget, Operator
23
+
24
+
25
+ class Criteria:
26
+
27
+ """Smartsheet Criteria data model."""
28
+
29
+ def __init__(self, props=None, base_obj=None):
30
+ """Initialize the Criteria model."""
31
+ self._base = None
32
+ if base_obj is not None:
33
+ self._base = base_obj
34
+
35
+ self._column_id = Number()
36
+ self._operator = EnumeratedValue(Operator)
37
+ self._target = EnumeratedValue(CriteriaTarget)
38
+ self._values = TypedList(str)
39
+
40
+ if props:
41
+ deserialize(self, props)
42
+
43
+ @property
44
+ def column_id(self):
45
+ return self._column_id.value
46
+
47
+ @column_id.setter
48
+ def column_id(self, value):
49
+ self._column_id.value = value
50
+
51
+ @property
52
+ def operator(self):
53
+ return self._operator
54
+
55
+ @operator.setter
56
+ def operator(self, value):
57
+ self._operator.set(value)
58
+
59
+ @property
60
+ def target(self):
61
+ return self._target
62
+
63
+ @target.setter
64
+ def target(self, value):
65
+ self._target.set(value)
66
+
67
+ @property
68
+ def values(self):
69
+ return self._values
70
+
71
+ @values.setter
72
+ def values(self, value):
73
+ self._values.load(value)
74
+
75
+ def to_dict(self):
76
+ return serialize(self)
77
+
78
+ def to_json(self):
79
+ return json.dumps(self.to_dict())
80
+
81
+ def __str__(self):
82
+ return self.to_json()
@@ -0,0 +1,134 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101
2
+ # Smartsheet Python SDK.
3
+ #
4
+ # Copyright 2018 Smartsheet.com, Inc.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License"): you may
7
+ # not use this file except in compliance with the License. You may obtain
8
+ # a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
+ # License for the specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from __future__ import absolute_import
19
+
20
+ from ..types import EnumeratedValue, Number, String, json
21
+ from ..util import deserialize, serialize
22
+ from .enums import CrossSheetReferenceStatus
23
+
24
+
25
+ class CrossSheetReference:
26
+
27
+ """Smartsheet CrossSheetReference data model."""
28
+
29
+ def __init__(self, props=None, base_obj=None):
30
+ """Initialize the CrossSheetReference model."""
31
+ self._base = None
32
+ if base_obj is not None:
33
+ self._base = base_obj
34
+
35
+ self._end_column_id = Number()
36
+ self._end_row_id = Number()
37
+ self._id_ = Number()
38
+ self._name = String()
39
+ self._source_sheet_id = Number()
40
+ self._start_column_id = Number()
41
+ self._start_row_id = Number()
42
+ self._status = EnumeratedValue(CrossSheetReferenceStatus)
43
+
44
+ if props:
45
+ deserialize(self, props)
46
+
47
+ # requests package Response object
48
+ self.request_response = None
49
+ self.__initialized = True
50
+
51
+ def __getattr__(self, key):
52
+ if key == "id":
53
+ return self.id_
54
+ else:
55
+ raise AttributeError(key)
56
+
57
+ def __setattr__(self, key, value):
58
+ if key == "id":
59
+ self.id_ = value
60
+ else:
61
+ super().__setattr__(key, value)
62
+
63
+ @property
64
+ def end_column_id(self):
65
+ return self._end_column_id.value
66
+
67
+ @end_column_id.setter
68
+ def end_column_id(self, value):
69
+ self._end_column_id.value = value
70
+
71
+ @property
72
+ def end_row_id(self):
73
+ return self._end_row_id.value
74
+
75
+ @end_row_id.setter
76
+ def end_row_id(self, value):
77
+ self._end_row_id.value = value
78
+
79
+ @property
80
+ def id_(self):
81
+ return self._id_.value
82
+
83
+ @id_.setter
84
+ def id_(self, value):
85
+ self._id_.value = value
86
+
87
+ @property
88
+ def name(self):
89
+ return self._name.value
90
+
91
+ @name.setter
92
+ def name(self, value):
93
+ self._name.value = value
94
+
95
+ @property
96
+ def source_sheet_id(self):
97
+ return self._source_sheet_id.value
98
+
99
+ @source_sheet_id.setter
100
+ def source_sheet_id(self, value):
101
+ self._source_sheet_id.value = value
102
+
103
+ @property
104
+ def start_column_id(self):
105
+ return self._start_column_id.value
106
+
107
+ @start_column_id.setter
108
+ def start_column_id(self, value):
109
+ self._start_column_id.value = value
110
+
111
+ @property
112
+ def start_row_id(self):
113
+ return self._start_row_id.value
114
+
115
+ @start_row_id.setter
116
+ def start_row_id(self, value):
117
+ self._start_row_id.value = value
118
+
119
+ @property
120
+ def status(self):
121
+ return self._status
122
+
123
+ @status.setter
124
+ def status(self, value):
125
+ self._status.set(value)
126
+
127
+ def to_dict(self):
128
+ return serialize(self)
129
+
130
+ def to_json(self):
131
+ return json.dumps(self.to_dict())
132
+
133
+ def __str__(self):
134
+ return self.to_json()
@@ -0,0 +1,64 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101
2
+ # Smartsheet Python SDK.
3
+ #
4
+ # Copyright 2018 Smartsheet.com, Inc.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License"): you may
7
+ # not use this file except in compliance with the License. You may obtain
8
+ # a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
+ # License for the specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from __future__ import absolute_import
19
+
20
+ from ..types import EnumeratedValue, String, json
21
+ from ..util import deserialize, serialize
22
+ from .enums import CurrencyCode
23
+
24
+
25
+ class Currency:
26
+
27
+ """Smartsheet Currency data model."""
28
+
29
+ def __init__(self, props=None, base_obj=None):
30
+ """Initialize the Currency model."""
31
+ self._base = None
32
+ if base_obj is not None:
33
+ self._base = base_obj
34
+
35
+ self._code = EnumeratedValue(CurrencyCode)
36
+ self._symbol = String()
37
+
38
+ if props:
39
+ deserialize(self, props)
40
+
41
+ @property
42
+ def code(self):
43
+ return self._code
44
+
45
+ @code.setter
46
+ def code(self, value):
47
+ self._code.set(value)
48
+
49
+ @property
50
+ def symbol(self):
51
+ return self._symbol.value
52
+
53
+ @symbol.setter
54
+ def symbol(self, value):
55
+ self._symbol.value = value
56
+
57
+ def to_dict(self):
58
+ return serialize(self)
59
+
60
+ def to_json(self):
61
+ return json.dumps(self.to_dict())
62
+
63
+ def __str__(self):
64
+ return self.to_json()
@@ -0,0 +1,56 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101
2
+ # Smartsheet Python SDK.
3
+ #
4
+ # Copyright 2018Smartsheet.com, Inc.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License"): you may
7
+ # not use this file except in compliance with the License. You may obtain
8
+ # a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
+ # License for the specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from __future__ import absolute_import
19
+
20
+ from datetime import datetime
21
+
22
+ from dateutil.parser import parse
23
+
24
+ from ..util import deserialize
25
+ from .object_value import ObjectValue, six
26
+
27
+
28
+ class DateObjectValue(ObjectValue):
29
+ """Smartsheet DateObjectValue data model."""
30
+
31
+ def __init__(self, props=None, base_obj=None):
32
+ """Initialize the DateObjectValue model."""
33
+ super().__init__(base_obj)
34
+ self._base = None
35
+ if base_obj is not None:
36
+ self._base = base_obj
37
+
38
+ self._value = None
39
+
40
+ if props:
41
+ deserialize(self, props)
42
+
43
+ self.__initialized = True
44
+
45
+ @property
46
+ def value(self):
47
+ return self._value
48
+
49
+ @value.setter
50
+ def value(self, value):
51
+ if isinstance(value, datetime):
52
+ self._value = value
53
+ else:
54
+ if isinstance(value, six.string_types):
55
+ value = parse(value).date()
56
+ self._value = value
@@ -0,0 +1,56 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101
2
+ # Smartsheet Python SDK.
3
+ #
4
+ # Copyright 2018Smartsheet.com, Inc.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License"): you may
7
+ # not use this file except in compliance with the License. You may obtain
8
+ # a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
+ # License for the specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from __future__ import absolute_import
19
+
20
+ from datetime import datetime
21
+
22
+ from dateutil.parser import parse
23
+
24
+ from ..util import deserialize
25
+ from .object_value import ObjectValue, six
26
+
27
+
28
+ class DatetimeObjectValue(ObjectValue):
29
+ """Smartsheet DatetimeObjectValue data model."""
30
+
31
+ def __init__(self, props=None, object_type=None, base_obj=None):
32
+ """Initialize the DatetimeObjectValue model."""
33
+ super().__init__(object_type, base_obj)
34
+ self._base = None
35
+ if base_obj is not None:
36
+ self._base = base_obj
37
+
38
+ self._value = None
39
+
40
+ if props:
41
+ deserialize(self, props)
42
+
43
+ self.__initialized = True
44
+
45
+ @property
46
+ def value(self):
47
+ return self._value
48
+
49
+ @value.setter
50
+ def value(self, value):
51
+ if isinstance(value, datetime):
52
+ self._value = value
53
+ else:
54
+ if isinstance(value, six.string_types):
55
+ value = parse(value)
56
+ self._value = value
@@ -0,0 +1,183 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101
2
+ # Smartsheet Python SDK.
3
+ #
4
+ # Copyright 2018 Smartsheet.com, Inc.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License"): you may
7
+ # not use this file except in compliance with the License. You may obtain
8
+ # a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
+ # License for the specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from __future__ import absolute_import
19
+
20
+ from ..types import (Boolean, EnumeratedValue, Number, String, Timestamp,
21
+ TypedList, TypedObject, json)
22
+ from ..util import deserialize, serialize
23
+ from .attachment import Attachment
24
+ from .comment import Comment
25
+ from .enums import AccessLevel
26
+ from .user import User
27
+
28
+
29
+ class Discussion:
30
+
31
+ """Smartsheet Discussion data model."""
32
+
33
+ def __init__(self, props=None, base_obj=None):
34
+ """Initialize the Discussion model."""
35
+ self._base = None
36
+ if base_obj is not None:
37
+ self._base = base_obj
38
+
39
+ self._access_level = EnumeratedValue(AccessLevel)
40
+ self._comment = TypedObject(Comment) # outbound (POST) only - singular
41
+ self._comment_attachments = TypedList(Attachment)
42
+ self._comment_count = Number()
43
+ self._comments = TypedList(Comment)
44
+ self._created_by = TypedObject(User)
45
+ self._id_ = Number()
46
+ self._last_commented_at = Timestamp()
47
+ self._last_commented_user = TypedObject(User)
48
+ self._parent_id = Number()
49
+ self._parent_type = String()
50
+ self._read_only = Boolean()
51
+ self._title = String()
52
+
53
+ if props:
54
+ deserialize(self, props)
55
+
56
+ # requests package Response object
57
+ self.request_response = None
58
+ self.__initialized = True
59
+
60
+ def __getattr__(self, key):
61
+ if key == "id":
62
+ return self.id_
63
+ else:
64
+ raise AttributeError(key)
65
+
66
+ def __setattr__(self, key, value):
67
+ if key == "id":
68
+ self.id_ = value
69
+ else:
70
+ super().__setattr__(key, value)
71
+
72
+ @property
73
+ def access_level(self):
74
+ return self._access_level
75
+
76
+ @access_level.setter
77
+ def access_level(self, value):
78
+ self._access_level.set(value)
79
+
80
+ @property
81
+ def comment(self):
82
+ return self._comment.value
83
+
84
+ @comment.setter
85
+ def comment(self, value):
86
+ self._comment.value = value
87
+
88
+ @property
89
+ def comment_attachments(self):
90
+ return self._comment_attachments
91
+
92
+ @comment_attachments.setter
93
+ def comment_attachments(self, value):
94
+ self._comment_attachments.load(value)
95
+
96
+ @property
97
+ def comment_count(self):
98
+ return self._comment_count.value
99
+
100
+ @comment_count.setter
101
+ def comment_count(self, value):
102
+ self._comment_count.value = value
103
+
104
+ @property
105
+ def comments(self):
106
+ return self._comments
107
+
108
+ @comments.setter
109
+ def comments(self, value):
110
+ self._comments.load(value)
111
+
112
+ @property
113
+ def created_by(self):
114
+ return self._created_by.value
115
+
116
+ @created_by.setter
117
+ def created_by(self, value):
118
+ self._created_by.value = value
119
+
120
+ @property
121
+ def id_(self):
122
+ return self._id_.value
123
+
124
+ @id_.setter
125
+ def id_(self, value):
126
+ self._id_.value = value
127
+
128
+ @property
129
+ def last_commented_at(self):
130
+ return self._last_commented_at.value
131
+
132
+ @last_commented_at.setter
133
+ def last_commented_at(self, value):
134
+ self._last_commented_at.value = value
135
+
136
+ @property
137
+ def last_commented_user(self):
138
+ return self._last_commented_user.value
139
+
140
+ @last_commented_user.setter
141
+ def last_commented_user(self, value):
142
+ self._last_commented_user.value = value
143
+
144
+ @property
145
+ def parent_id(self):
146
+ return self._parent_id.value
147
+
148
+ @parent_id.setter
149
+ def parent_id(self, value):
150
+ self._parent_id.value = value
151
+
152
+ @property
153
+ def parent_type(self):
154
+ return self._parent_type.value
155
+
156
+ @parent_type.setter
157
+ def parent_type(self, value):
158
+ self._parent_type.value = value
159
+
160
+ @property
161
+ def read_only(self):
162
+ return self._read_only.value
163
+
164
+ @read_only.setter
165
+ def read_only(self, value):
166
+ self._read_only.value = value
167
+
168
+ @property
169
+ def title(self):
170
+ return self._title.value
171
+
172
+ @title.setter
173
+ def title(self, value):
174
+ self._title.value = value
175
+
176
+ def to_dict(self):
177
+ return serialize(self)
178
+
179
+ def to_json(self):
180
+ return json.dumps(self.to_dict())
181
+
182
+ def __str__(self):
183
+ return self.to_json()