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,95 @@
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, String, json
21
+ from ..util import deserialize, serialize
22
+ from .enums import PublishAccessibleBy
23
+
24
+
25
+ class ReportPublish:
26
+
27
+ """Smartsheet ReportPublish data model."""
28
+
29
+ def __init__(self, props=None, base_obj=None):
30
+ """Initialize the ReportPublish model."""
31
+ self._base = None
32
+ if base_obj is not None:
33
+ self._base = base_obj
34
+
35
+ self._read_only_full_accessible_by = EnumeratedValue(PublishAccessibleBy)
36
+ self._read_only_full_default_view = String()
37
+ self._read_only_full_enabled = Boolean()
38
+ self._read_only_full_show_toolbar = Boolean()
39
+ self._read_only_full_url = String()
40
+
41
+ if props:
42
+ deserialize(self, props)
43
+
44
+ # requests package Response object
45
+ self.request_response = None
46
+ self.__initialized = True
47
+
48
+ @property
49
+ def read_only_full_accessible_by(self):
50
+ return self._read_only_full_accessible_by
51
+
52
+ @read_only_full_accessible_by.setter
53
+ def read_only_full_accessible_by(self, value):
54
+ self._read_only_full_accessible_by.set(value)
55
+
56
+ @property
57
+ def read_only_full_default_view(self):
58
+ return self._read_only_full_default_view.value
59
+
60
+ @read_only_full_default_view.setter
61
+ def read_only_full_default_view(self, value):
62
+ self._read_only_full_default_view.value = value
63
+
64
+ @property
65
+ def read_only_full_enabled(self):
66
+ return self._read_only_full_enabled.value
67
+
68
+ @read_only_full_enabled.setter
69
+ def read_only_full_enabled(self, value):
70
+ self._read_only_full_enabled.value = value
71
+
72
+ @property
73
+ def read_only_full_show_toolbar(self):
74
+ return self._read_only_full_show_toolbar.value
75
+
76
+ @read_only_full_show_toolbar.setter
77
+ def read_only_full_show_toolbar(self, value):
78
+ self._read_only_full_show_toolbar.value = value
79
+
80
+ @property
81
+ def read_only_full_url(self):
82
+ return self._read_only_full_url.value
83
+
84
+ @read_only_full_url.setter
85
+ def read_only_full_url(self, value):
86
+ self._read_only_full_url.value = value
87
+
88
+ def to_dict(self):
89
+ return serialize(self)
90
+
91
+ def to_json(self):
92
+ return json.dumps(self.to_dict())
93
+
94
+ def __str__(self):
95
+ return self.to_json()
@@ -0,0 +1,68 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101
2
+ # Smartsheet Python SDK.
3
+ #
4
+ # Copyright 2016 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 .report_cell import ReportCell
23
+ from .row import Row
24
+
25
+
26
+ class ReportRow(Row):
27
+
28
+ """Smartsheet ReportRow data model."""
29
+
30
+ def __init__(self, props=None, base_obj=None):
31
+ """Initialize the ReportRow model."""
32
+ super().__init__(None, base_obj)
33
+ self._base = None
34
+ if base_obj is not None:
35
+ self._base = base_obj
36
+
37
+ self._cells = TypedList(ReportCell)
38
+ self._sheet_id = Number()
39
+
40
+ if props:
41
+ deserialize(self, props)
42
+
43
+ self.__initialized = True
44
+
45
+ @property
46
+ def cells(self):
47
+ return self._cells
48
+
49
+ @cells.setter
50
+ def cells(self, value):
51
+ self._cells.load(value)
52
+
53
+ @property
54
+ def sheet_id(self):
55
+ return self._sheet_id.value
56
+
57
+ @sheet_id.setter
58
+ def sheet_id(self, value):
59
+ self._sheet_id.value = value
60
+
61
+ def to_dict(self):
62
+ return serialize(self)
63
+
64
+ def to_json(self):
65
+ return json.dumps(self.to_dict())
66
+
67
+ def __str__(self):
68
+ return self.to_json()
@@ -0,0 +1,78 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101
2
+ # Smartsheet Python SDK.
3
+ #
4
+ # Copyright 2019 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, String, TypedObject, json
21
+ from ..util import deserialize, serialize
22
+ from .enums import WidgetType
23
+ from .widget_content import WidgetContent
24
+ from .widget_hyperlink import WidgetHyperlink
25
+
26
+
27
+ class ReportWidgetContent(WidgetContent):
28
+ """Smartsheet ReportWidgetContent data model."""
29
+
30
+ def __init__(self, props=None, base_obj=None):
31
+ """Initialize the ReportWidgetContent model."""
32
+ super().__init__(WidgetType.GRIDGANTT, base_obj)
33
+ self._base = None
34
+ if base_obj is not None:
35
+ self._base = base_obj
36
+
37
+ # Represents the ReportWidgetContent object
38
+ self._html_content = String()
39
+ self._hyperlink = TypedObject(WidgetHyperlink)
40
+ self._report_id = Number()
41
+
42
+ if props:
43
+ deserialize(self, props)
44
+
45
+ self.__initialized = True
46
+
47
+ @property
48
+ def html_content(self):
49
+ return self._html_content.value
50
+
51
+ @html_content.setter
52
+ def html_content(self, value):
53
+ self._html_content.value = value
54
+
55
+ @property
56
+ def hyperlink(self):
57
+ return self._hyperlink.value
58
+
59
+ @hyperlink.setter
60
+ def hyperlink(self, value):
61
+ self._hyperlink.value = value
62
+
63
+ @property
64
+ def report_id(self):
65
+ return self._report_id.value
66
+
67
+ @report_id.setter
68
+ def report_id(self, value):
69
+ self._report_id.value = value
70
+
71
+ def to_dict(self):
72
+ return serialize(self)
73
+
74
+ def to_json(self):
75
+ return json.dumps(self.to_dict())
76
+
77
+ def __str__(self):
78
+ return self.to_json()
@@ -0,0 +1,105 @@
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, String, TypedList, importlib, json, logging
21
+ from ..util import deserialize, serialize
22
+
23
+
24
+ class Result:
25
+
26
+ """Smartsheet Result data model."""
27
+
28
+ def __init__(self, props=None, dynamic_result_type=None, base_obj=None):
29
+ """Initialize the Result model."""
30
+ self._base = None
31
+ if base_obj is not None:
32
+ self._base = base_obj
33
+
34
+ self._log = logging.getLogger(__name__)
35
+
36
+ self._dynamic_result_type = None
37
+ if dynamic_result_type is not None:
38
+ self._dynamic_result_type = dynamic_result_type
39
+ self._message = String()
40
+ self._result = TypedList(object)
41
+ self._result_code = Number()
42
+ self._version = Number()
43
+
44
+ if props:
45
+ deserialize(self, props)
46
+
47
+ # requests package Response object
48
+ self.request_response = None
49
+
50
+ @property
51
+ def message(self):
52
+ return self._message.value
53
+
54
+ @message.setter
55
+ def message(self, value):
56
+ self._message.value = value
57
+
58
+ @property
59
+ def result(self):
60
+ return self._result
61
+
62
+ @result.setter
63
+ def result(self, value):
64
+ if self._dynamic_result_type is None:
65
+ self._log.debug(
66
+ "result provided but _dynamic_result_type is None. (%s)", value
67
+ )
68
+ else:
69
+ class_ = getattr(
70
+ importlib.import_module("smartsheet.models"), self._dynamic_result_type
71
+ )
72
+ if isinstance(value, list):
73
+ self._result = [class_(x, self._base) for x in value]
74
+ else:
75
+ self._result = class_(value, self._base)
76
+
77
+ @property
78
+ def result_code(self):
79
+ return self._result_code.value
80
+
81
+ @result_code.setter
82
+ def result_code(self, value):
83
+ self._result_code.value = value
84
+
85
+ @property
86
+ def version(self):
87
+ return self._version.value
88
+
89
+ @version.setter
90
+ def version(self, value):
91
+ self._version.value = value
92
+
93
+ @property
94
+ def data(self):
95
+ """Simplify difference between Result and IndexResult"""
96
+ return self._result
97
+
98
+ def to_dict(self):
99
+ return serialize(self)
100
+
101
+ def to_json(self):
102
+ return json.dumps(self.to_dict())
103
+
104
+ def __str__(self):
105
+ return self.to_json()
@@ -0,0 +1,336 @@
1
+ # pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101,R1710
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 datetime import datetime
21
+
22
+ from ..types import (Boolean, EnumeratedValue, Number, String, Timestamp,
23
+ TypedList, TypedObject, json)
24
+ from ..util import deserialize, serialize
25
+ from .attachment import Attachment
26
+ from .cell import Cell
27
+ from .column import Column
28
+ from .discussion import Discussion
29
+ from .enums import AccessLevel
30
+ from .user import User
31
+
32
+
33
+ class Row:
34
+
35
+ """Smartsheet Row data model."""
36
+
37
+ def __init__(self, props=None, base_obj=None):
38
+ """Initialize the Row model."""
39
+ self._base = None
40
+ if base_obj is not None:
41
+ self._base = base_obj
42
+
43
+ self._above = Boolean()
44
+ self._access_level = EnumeratedValue(AccessLevel)
45
+ self._attachments = TypedList(Attachment)
46
+ self._cells = TypedList(Cell)
47
+ self._columns = TypedList(Column)
48
+ self._conditional_format = String()
49
+ self._created_at = Timestamp()
50
+ self._created_by = TypedObject(User)
51
+ self._discussions = TypedList(Discussion)
52
+ self._expanded = Boolean()
53
+ self._filtered_out = Boolean()
54
+ self._format_ = String()
55
+ self._id_ = Number()
56
+ self._in_critical_path = Boolean()
57
+ self._indent = Number()
58
+ self._locked = Boolean()
59
+ self._locked_for_user = Boolean()
60
+ self._modified_at = Timestamp()
61
+ self._modified_by = TypedObject(User)
62
+ self._outdent = Number()
63
+ self._parent_id = Number()
64
+ self._permalink = String()
65
+ self._row_number = Number()
66
+ self._sheet_id = Number()
67
+ self._sibling_id = Number()
68
+ self._to_bottom = Boolean()
69
+ self._to_top = Boolean()
70
+ self._version = Number()
71
+
72
+ if props:
73
+ deserialize(self, props)
74
+
75
+ # requests package Response object
76
+ self.request_response = None
77
+ self.__initialized = True
78
+
79
+ def __getattr__(self, key):
80
+ if key == "format":
81
+ return self.format_
82
+ elif key == "id":
83
+ return self.id_
84
+ else:
85
+ raise AttributeError(key)
86
+
87
+ def __setattr__(self, key, value):
88
+ if key == "format":
89
+ self.format_ = value
90
+ elif key == "id":
91
+ self.id_ = value
92
+ else:
93
+ super().__setattr__(key, value)
94
+
95
+ @property
96
+ def above(self):
97
+ return self._above.value
98
+
99
+ @above.setter
100
+ def above(self, value):
101
+ self._above.value = value
102
+
103
+ @property
104
+ def access_level(self):
105
+ return self._access_level
106
+
107
+ @access_level.setter
108
+ def access_level(self, value):
109
+ self._access_level.set(value)
110
+
111
+ @property
112
+ def attachments(self):
113
+ return self._attachments
114
+
115
+ @attachments.setter
116
+ def attachments(self, value):
117
+ self._attachments.load(value)
118
+
119
+ @property
120
+ def cells(self):
121
+ return self._cells
122
+
123
+ @cells.setter
124
+ def cells(self, value):
125
+ self._cells.load(value)
126
+
127
+ @property
128
+ def columns(self):
129
+ return self._columns
130
+
131
+ @columns.setter
132
+ def columns(self, value):
133
+ self._columns.load(value)
134
+
135
+ @property
136
+ def conditional_format(self):
137
+ return self._conditional_format.value
138
+
139
+ @conditional_format.setter
140
+ def conditional_format(self, value):
141
+ self._conditional_format.value = value
142
+
143
+ @property
144
+ def created_at(self):
145
+ return self._created_at.value
146
+
147
+ @created_at.setter
148
+ def created_at(self, value):
149
+ self._created_at.value = value
150
+
151
+ @property
152
+ def created_by(self):
153
+ return self._created_by.value
154
+
155
+ @created_by.setter
156
+ def created_by(self, value):
157
+ self._created_by.value = value
158
+
159
+ @property
160
+ def discussions(self):
161
+ return self._discussions
162
+
163
+ @discussions.setter
164
+ def discussions(self, value):
165
+ self._discussions.load(value)
166
+
167
+ @property
168
+ def expanded(self):
169
+ return self._expanded.value
170
+
171
+ @expanded.setter
172
+ def expanded(self, value):
173
+ self._expanded.value = value
174
+
175
+ @property
176
+ def filtered_out(self):
177
+ return self._filtered_out.value
178
+
179
+ @filtered_out.setter
180
+ def filtered_out(self, value):
181
+ self._filtered_out.value = value
182
+
183
+ @property
184
+ def format_(self):
185
+ return self._format_.value
186
+
187
+ @format_.setter
188
+ def format_(self, value):
189
+ self._format_.value = value
190
+
191
+ @property
192
+ def id_(self):
193
+ return self._id_.value
194
+
195
+ @id_.setter
196
+ def id_(self, value):
197
+ self._id_.value = value
198
+
199
+ @property
200
+ def in_critical_path(self):
201
+ return self._in_critical_path.value
202
+
203
+ @in_critical_path.setter
204
+ def in_critical_path(self, value):
205
+ self._in_critical_path.value = value
206
+
207
+ @property
208
+ def indent(self):
209
+ return self._indent.value
210
+
211
+ @indent.setter
212
+ def indent(self, value):
213
+ self._indent.value = value
214
+
215
+ @property
216
+ def locked(self):
217
+ return self._locked.value
218
+
219
+ @locked.setter
220
+ def locked(self, value):
221
+ self._locked.value = value
222
+
223
+ @property
224
+ def locked_for_user(self):
225
+ return self._locked_for_user.value
226
+
227
+ @locked_for_user.setter
228
+ def locked_for_user(self, value):
229
+ self._locked_for_user.value = value
230
+
231
+ @property
232
+ def modified_at(self):
233
+ return self._modified_at.value
234
+
235
+ @modified_at.setter
236
+ def modified_at(self, value):
237
+ self._modified_at.value = value
238
+
239
+ @property
240
+ def modified_by(self):
241
+ return self._modified_by.value
242
+
243
+ @modified_by.setter
244
+ def modified_by(self, value):
245
+ self._modified_by.value = value
246
+
247
+ @property
248
+ def outdent(self):
249
+ return self._outdent.value
250
+
251
+ @outdent.setter
252
+ def outdent(self, value):
253
+ self._outdent.value = value
254
+
255
+ @property
256
+ def parent_id(self):
257
+ return self._parent_id.value
258
+
259
+ @parent_id.setter
260
+ def parent_id(self, value):
261
+ self._parent_id.value = value
262
+
263
+ @property
264
+ def permalink(self):
265
+ return self._permalink.value
266
+
267
+ @permalink.setter
268
+ def permalink(self, value):
269
+ self._permalink.value = value
270
+
271
+ @property
272
+ def row_number(self):
273
+ return self._row_number.value
274
+
275
+ @row_number.setter
276
+ def row_number(self, value):
277
+ self._row_number.value = value
278
+
279
+ @property
280
+ def sheet_id(self):
281
+ return self._sheet_id.value
282
+
283
+ @sheet_id.setter
284
+ def sheet_id(self, value):
285
+ self._sheet_id.value = value
286
+
287
+ @property
288
+ def sibling_id(self):
289
+ return self._sibling_id.value
290
+
291
+ @sibling_id.setter
292
+ def sibling_id(self, value):
293
+ self._sibling_id.value = value
294
+
295
+ @property
296
+ def to_bottom(self):
297
+ return self._to_bottom.value
298
+
299
+ @to_bottom.setter
300
+ def to_bottom(self, value):
301
+ self._to_bottom.value = value
302
+
303
+ @property
304
+ def to_top(self):
305
+ return self._to_top.value
306
+
307
+ @to_top.setter
308
+ def to_top(self, value):
309
+ self._to_top.value = value
310
+
311
+ @property
312
+ def version(self):
313
+ return self._version.value
314
+
315
+ @version.setter
316
+ def version(self, value):
317
+ self._version.value = value
318
+
319
+ def get_column(self, column_id):
320
+ for cell in self.cells:
321
+ if cell.column_id == column_id:
322
+ return cell
323
+
324
+ def set_column(self, column_id, replacement_cell):
325
+ for idx, cell in enumerate(self.cells):
326
+ if cell.column_id == column_id:
327
+ self.cells[idx] = replacement_cell
328
+
329
+ def to_dict(self):
330
+ return serialize(self)
331
+
332
+ def to_json(self):
333
+ return json.dumps(self.to_dict())
334
+
335
+ def __str__(self):
336
+ return self.to_json()