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.
- smartsheet/__init__.py +37 -0
- smartsheet/attachments.py +565 -0
- smartsheet/cells.py +164 -0
- smartsheet/contacts.py +78 -0
- smartsheet/discussions.py +411 -0
- smartsheet/events.py +79 -0
- smartsheet/exceptions.py +130 -0
- smartsheet/favorites.py +116 -0
- smartsheet/folders.py +438 -0
- smartsheet/groups.py +186 -0
- smartsheet/home.py +180 -0
- smartsheet/images.py +61 -0
- smartsheet/models/__init__.py +126 -0
- smartsheet/models/access_token.py +95 -0
- smartsheet/models/account.py +77 -0
- smartsheet/models/alternate_email.py +88 -0
- smartsheet/models/asset_share.py +165 -0
- smartsheet/models/asset_shares_paginated_result.py +84 -0
- smartsheet/models/attachment.py +181 -0
- smartsheet/models/auto_number_format.py +81 -0
- smartsheet/models/automation_action.py +162 -0
- smartsheet/models/automation_rule.py +164 -0
- smartsheet/models/boolean_object_value.py +38 -0
- smartsheet/models/bulk_item_failure.py +77 -0
- smartsheet/models/bulk_item_result.py +111 -0
- smartsheet/models/cell.py +193 -0
- smartsheet/models/cell_data_item.py +152 -0
- smartsheet/models/cell_history.py +67 -0
- smartsheet/models/cell_link.py +91 -0
- smartsheet/models/cell_link_widget_content.py +101 -0
- smartsheet/models/chart_widget_content.py +124 -0
- smartsheet/models/column.py +253 -0
- smartsheet/models/comment.py +126 -0
- smartsheet/models/contact.py +88 -0
- smartsheet/models/contact_object_value.py +59 -0
- smartsheet/models/container_destination.py +74 -0
- smartsheet/models/copy_or_move_row_destination.py +54 -0
- smartsheet/models/copy_or_move_row_directive.py +64 -0
- smartsheet/models/copy_or_move_row_result.py +67 -0
- smartsheet/models/criteria.py +82 -0
- smartsheet/models/cross_sheet_reference.py +134 -0
- smartsheet/models/currency.py +64 -0
- smartsheet/models/date_object_value.py +56 -0
- smartsheet/models/datetime_object_value.py +56 -0
- smartsheet/models/discussion.py +183 -0
- smartsheet/models/downloaded_file.py +106 -0
- smartsheet/models/duration.py +112 -0
- smartsheet/models/email.py +82 -0
- smartsheet/models/enums/__init__.py +56 -0
- smartsheet/models/enums/access_level.py +26 -0
- smartsheet/models/enums/asset_type.py +10 -0
- smartsheet/models/enums/attachment_parent_type.py +23 -0
- smartsheet/models/enums/attachment_sub_type.py +26 -0
- smartsheet/models/enums/attachment_type.py +29 -0
- smartsheet/models/enums/automation_action_frequency.py +24 -0
- smartsheet/models/enums/automation_action_type.py +23 -0
- smartsheet/models/enums/automation_rule_disabled_reason.py +27 -0
- smartsheet/models/enums/cell_link_status.py +28 -0
- smartsheet/models/enums/column_type.py +31 -0
- smartsheet/models/enums/criteria_target.py +21 -0
- smartsheet/models/enums/cross_sheet_reference_status.py +28 -0
- smartsheet/models/enums/currency_code.py +43 -0
- smartsheet/models/enums/day_descriptors.py +30 -0
- smartsheet/models/enums/day_ordinal.py +25 -0
- smartsheet/models/enums/event_action.py +76 -0
- smartsheet/models/enums/event_obejct_type.py +34 -0
- smartsheet/models/enums/event_source.py +27 -0
- smartsheet/models/enums/global_template.py +23 -0
- smartsheet/models/enums/operator.py +62 -0
- smartsheet/models/enums/paper_type.py +29 -0
- smartsheet/models/enums/predecessor_type.py +24 -0
- smartsheet/models/enums/publish_accessible_by.py +22 -0
- smartsheet/models/enums/schedule_type.py +25 -0
- smartsheet/models/enums/seat_type.py +17 -0
- smartsheet/models/enums/share_scope.py +22 -0
- smartsheet/models/enums/share_type.py +22 -0
- smartsheet/models/enums/sheet_email_format.py +23 -0
- smartsheet/models/enums/sheet_filter_operator.py +22 -0
- smartsheet/models/enums/sheet_filter_type.py +23 -0
- smartsheet/models/enums/sort_direction.py +22 -0
- smartsheet/models/enums/symbol.py +45 -0
- smartsheet/models/enums/system_column_type.py +25 -0
- smartsheet/models/enums/update_request_status.py +23 -0
- smartsheet/models/enums/user_status.py +23 -0
- smartsheet/models/enums/widget_type.py +32 -0
- smartsheet/models/error.py +74 -0
- smartsheet/models/error_result.py +117 -0
- smartsheet/models/event.py +153 -0
- smartsheet/models/event_result.py +86 -0
- smartsheet/models/explicit_null.py +24 -0
- smartsheet/models/favorite.py +81 -0
- smartsheet/models/folder.py +177 -0
- smartsheet/models/font_family.py +63 -0
- smartsheet/models/format_details.py +55 -0
- smartsheet/models/format_tables.py +191 -0
- smartsheet/models/group.py +134 -0
- smartsheet/models/group_member.py +104 -0
- smartsheet/models/home.py +110 -0
- smartsheet/models/hyperlink.py +81 -0
- smartsheet/models/image.py +101 -0
- smartsheet/models/image_url.py +91 -0
- smartsheet/models/image_url_map.py +68 -0
- smartsheet/models/image_widget_content.py +117 -0
- smartsheet/models/index_result.py +118 -0
- smartsheet/models/json_object.py +59 -0
- smartsheet/models/multi_contact_object_value.py +49 -0
- smartsheet/models/multi_picklist_object_value.py +48 -0
- smartsheet/models/multi_row_email.py +60 -0
- smartsheet/models/number_object_value.py +38 -0
- smartsheet/models/o_auth_error.py +86 -0
- smartsheet/models/object_value.py +130 -0
- smartsheet/models/paginated_children_result.py +80 -0
- smartsheet/models/predecessor.py +102 -0
- smartsheet/models/predecessor_list.py +49 -0
- smartsheet/models/primitive_object_value.py +59 -0
- smartsheet/models/profile_image.py +72 -0
- smartsheet/models/project_settings.py +89 -0
- smartsheet/models/recipient.py +63 -0
- smartsheet/models/report.py +90 -0
- smartsheet/models/report_cell.py +59 -0
- smartsheet/models/report_column.py +67 -0
- smartsheet/models/report_publish.py +95 -0
- smartsheet/models/report_row.py +68 -0
- smartsheet/models/report_widget_content.py +78 -0
- smartsheet/models/result.py +105 -0
- smartsheet/models/row.py +336 -0
- smartsheet/models/row_email.py +83 -0
- smartsheet/models/row_mapping.py +77 -0
- smartsheet/models/schedule.py +140 -0
- smartsheet/models/scope.py +70 -0
- smartsheet/models/search_result.py +67 -0
- smartsheet/models/search_result_item.py +150 -0
- smartsheet/models/selection_range.py +86 -0
- smartsheet/models/sent_update_request.py +172 -0
- smartsheet/models/server_info.py +67 -0
- smartsheet/models/share.py +183 -0
- smartsheet/models/sheet.py +462 -0
- smartsheet/models/sheet_email.py +81 -0
- smartsheet/models/sheet_filter.py +106 -0
- smartsheet/models/sheet_filter_details.py +76 -0
- smartsheet/models/sheet_publish.py +184 -0
- smartsheet/models/sheet_summary.py +59 -0
- smartsheet/models/sheet_user_permissions.py +58 -0
- smartsheet/models/sheet_user_settings.py +72 -0
- smartsheet/models/shortcut_data_item.py +102 -0
- smartsheet/models/shortcut_widget_content.py +61 -0
- smartsheet/models/sight.py +175 -0
- smartsheet/models/sight_publish.py +77 -0
- smartsheet/models/sort_criterion.py +64 -0
- smartsheet/models/sort_specifier.py +55 -0
- smartsheet/models/source.py +83 -0
- smartsheet/models/string_object_value.py +38 -0
- smartsheet/models/summary_field.py +256 -0
- smartsheet/models/template.py +171 -0
- smartsheet/models/title_rich_text_widget_content.py +68 -0
- smartsheet/models/token_paginated_result.py +79 -0
- smartsheet/models/update_request.py +110 -0
- smartsheet/models/user.py +58 -0
- smartsheet/models/user_model.py +280 -0
- smartsheet/models/user_plan.py +77 -0
- smartsheet/models/user_profile.py +89 -0
- smartsheet/models/version.py +57 -0
- smartsheet/models/web_content_widget_content.py +60 -0
- smartsheet/models/webhook.py +219 -0
- smartsheet/models/webhook_secret.py +58 -0
- smartsheet/models/webhook_stats.py +76 -0
- smartsheet/models/webhook_subscope.py +50 -0
- smartsheet/models/widget.py +211 -0
- smartsheet/models/widget_content.py +52 -0
- smartsheet/models/widget_hyperlink.py +74 -0
- smartsheet/models/workspace.py +185 -0
- smartsheet/object_value.py +72 -0
- smartsheet/passthrough.py +127 -0
- smartsheet/reports.py +382 -0
- smartsheet/search.py +100 -0
- smartsheet/server.py +48 -0
- smartsheet/session.py +70 -0
- smartsheet/sharing.py +163 -0
- smartsheet/sheets.py +2062 -0
- smartsheet/sights.py +370 -0
- smartsheet/smartsheet.py +684 -0
- smartsheet/templates.py +87 -0
- smartsheet/token.py +128 -0
- smartsheet/types.py +323 -0
- smartsheet/users.py +490 -0
- smartsheet/util.py +199 -0
- smartsheet/version.py +34 -0
- smartsheet/webhooks.py +161 -0
- smartsheet/workspaces.py +647 -0
- smartsheet_python_sdk-3.5.5.dist-info/METADATA +120 -0
- smartsheet_python_sdk-3.5.5.dist-info/RECORD +195 -0
- smartsheet_python_sdk-3.5.5.dist-info/WHEEL +5 -0
- smartsheet_python_sdk-3.5.5.dist-info/licenses/LICENSE.md +201 -0
- smartsheet_python_sdk-3.5.5.dist-info/licenses/NOTICE +10 -0
- smartsheet_python_sdk-3.5.5.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
# pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101,R1710,C0415,W0613
|
|
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 (Boolean, EnumeratedList, EnumeratedValue, Number, String,
|
|
21
|
+
Timestamp, TypedList, TypedObject, json)
|
|
22
|
+
from ..util import deserialize, serialize
|
|
23
|
+
from .attachment import Attachment
|
|
24
|
+
from .column import Column
|
|
25
|
+
from .comment import Comment
|
|
26
|
+
from .contact_object_value import ContactObjectValue
|
|
27
|
+
from .cross_sheet_reference import CrossSheetReference
|
|
28
|
+
from .discussion import Discussion
|
|
29
|
+
from .enums import AccessLevel, AttachmentType
|
|
30
|
+
from .project_settings import ProjectSettings
|
|
31
|
+
from .row import Row
|
|
32
|
+
from .sheet_filter import SheetFilter
|
|
33
|
+
from .sheet_summary import SheetSummary
|
|
34
|
+
from .sheet_user_permissions import SheetUserPermissions
|
|
35
|
+
from .sheet_user_settings import SheetUserSettings
|
|
36
|
+
from .source import Source
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class Sheet:
|
|
40
|
+
|
|
41
|
+
"""Smartsheet Sheet data model."""
|
|
42
|
+
|
|
43
|
+
def __init__(self, props=None, base_obj=None):
|
|
44
|
+
"""Initialize the Sheet model."""
|
|
45
|
+
self._base = None
|
|
46
|
+
if base_obj is not None:
|
|
47
|
+
self._base = base_obj
|
|
48
|
+
|
|
49
|
+
# Workspace creates a circular import dependency
|
|
50
|
+
# as much as I'm not a fan of moving the import
|
|
51
|
+
# into the __init__, its the most pragmatic approach for this simple problem.
|
|
52
|
+
from .workspace import Workspace
|
|
53
|
+
|
|
54
|
+
self._access_level = EnumeratedValue(AccessLevel)
|
|
55
|
+
self._attachments = TypedList(Attachment)
|
|
56
|
+
self._columns = TypedList(Column)
|
|
57
|
+
self._contact_references = TypedList(ContactObjectValue)
|
|
58
|
+
self._created_at = Timestamp()
|
|
59
|
+
self._cross_sheet_references = TypedList(CrossSheetReference)
|
|
60
|
+
self._dependencies_enabled = Boolean()
|
|
61
|
+
self._discussions = TypedList(Discussion)
|
|
62
|
+
self._effective_attachment_options = EnumeratedList(AttachmentType)
|
|
63
|
+
self._favorite = Boolean()
|
|
64
|
+
self._filters = TypedList(SheetFilter)
|
|
65
|
+
self._from_id = Number()
|
|
66
|
+
self._gantt_enabled = Boolean()
|
|
67
|
+
self._has_summary_fields = Boolean()
|
|
68
|
+
self._id_ = Number()
|
|
69
|
+
self._modified_at = Timestamp()
|
|
70
|
+
self._name = String()
|
|
71
|
+
self._owner = String()
|
|
72
|
+
self._owner_id = Number()
|
|
73
|
+
self._permalink = String()
|
|
74
|
+
self._project_settings = TypedObject(ProjectSettings)
|
|
75
|
+
self._read_only = Boolean()
|
|
76
|
+
self._resource_management_enabled = Boolean()
|
|
77
|
+
self._rows = TypedList(Row)
|
|
78
|
+
self._show_parent_rows_for_filters = Boolean()
|
|
79
|
+
self._source = TypedObject(Source)
|
|
80
|
+
self._summary = TypedObject(SheetSummary)
|
|
81
|
+
self._total_row_count = Number()
|
|
82
|
+
self._user_permissions = TypedObject(SheetUserPermissions)
|
|
83
|
+
self._user_settings = TypedObject(SheetUserSettings)
|
|
84
|
+
self._version = Number()
|
|
85
|
+
self._workspace = TypedObject(Workspace)
|
|
86
|
+
|
|
87
|
+
if props:
|
|
88
|
+
deserialize(self, props)
|
|
89
|
+
|
|
90
|
+
# requests package Response object
|
|
91
|
+
self.request_response = None
|
|
92
|
+
self.__initialized = True
|
|
93
|
+
|
|
94
|
+
def __getattr__(self, key):
|
|
95
|
+
if key == "id":
|
|
96
|
+
return self.id_
|
|
97
|
+
else:
|
|
98
|
+
raise AttributeError(key)
|
|
99
|
+
|
|
100
|
+
def __setattr__(self, key, value):
|
|
101
|
+
if key == "id":
|
|
102
|
+
self.id_ = value
|
|
103
|
+
else:
|
|
104
|
+
super().__setattr__(key, value)
|
|
105
|
+
|
|
106
|
+
@property
|
|
107
|
+
def access_level(self):
|
|
108
|
+
return self._access_level
|
|
109
|
+
|
|
110
|
+
@access_level.setter
|
|
111
|
+
def access_level(self, value):
|
|
112
|
+
self._access_level.set(value)
|
|
113
|
+
|
|
114
|
+
@property
|
|
115
|
+
def attachments(self):
|
|
116
|
+
return self._attachments
|
|
117
|
+
|
|
118
|
+
@attachments.setter
|
|
119
|
+
def attachments(self, value):
|
|
120
|
+
self._attachments.load(value)
|
|
121
|
+
|
|
122
|
+
@property
|
|
123
|
+
def columns(self):
|
|
124
|
+
return self._columns
|
|
125
|
+
|
|
126
|
+
@columns.setter
|
|
127
|
+
def columns(self, value):
|
|
128
|
+
self._columns.load(value)
|
|
129
|
+
|
|
130
|
+
@property
|
|
131
|
+
def contact_references(self):
|
|
132
|
+
return self._contact_references
|
|
133
|
+
|
|
134
|
+
@contact_references.setter
|
|
135
|
+
def contact_references(self, value):
|
|
136
|
+
self._contact_references.load(value)
|
|
137
|
+
|
|
138
|
+
@property
|
|
139
|
+
def created_at(self):
|
|
140
|
+
return self._created_at.value
|
|
141
|
+
|
|
142
|
+
@created_at.setter
|
|
143
|
+
def created_at(self, value):
|
|
144
|
+
self._created_at.value = value
|
|
145
|
+
|
|
146
|
+
@property
|
|
147
|
+
def cross_sheet_references(self):
|
|
148
|
+
return self._cross_sheet_references
|
|
149
|
+
|
|
150
|
+
@cross_sheet_references.setter
|
|
151
|
+
def cross_sheet_references(self, value):
|
|
152
|
+
self._cross_sheet_references.load(value)
|
|
153
|
+
|
|
154
|
+
@property
|
|
155
|
+
def dependencies_enabled(self):
|
|
156
|
+
return self._dependencies_enabled.value
|
|
157
|
+
|
|
158
|
+
@dependencies_enabled.setter
|
|
159
|
+
def dependencies_enabled(self, value):
|
|
160
|
+
self._dependencies_enabled.value = value
|
|
161
|
+
|
|
162
|
+
@property
|
|
163
|
+
def discussions(self):
|
|
164
|
+
return self._discussions
|
|
165
|
+
|
|
166
|
+
@discussions.setter
|
|
167
|
+
def discussions(self, value):
|
|
168
|
+
self._discussions.load(value)
|
|
169
|
+
|
|
170
|
+
@property
|
|
171
|
+
def effective_attachment_options(self):
|
|
172
|
+
return self._effective_attachment_options
|
|
173
|
+
|
|
174
|
+
@effective_attachment_options.setter
|
|
175
|
+
def effective_attachment_options(self, value):
|
|
176
|
+
self._effective_attachment_options.load(value)
|
|
177
|
+
|
|
178
|
+
@property
|
|
179
|
+
def favorite(self):
|
|
180
|
+
return self._favorite.value
|
|
181
|
+
|
|
182
|
+
@favorite.setter
|
|
183
|
+
def favorite(self, value):
|
|
184
|
+
self._favorite.value = value
|
|
185
|
+
|
|
186
|
+
@property
|
|
187
|
+
def filters(self):
|
|
188
|
+
return self._filters
|
|
189
|
+
|
|
190
|
+
@filters.setter
|
|
191
|
+
def filters(self, value):
|
|
192
|
+
self._filters.load(value)
|
|
193
|
+
|
|
194
|
+
@property
|
|
195
|
+
def from_id(self):
|
|
196
|
+
return self._from_id.value
|
|
197
|
+
|
|
198
|
+
@from_id.setter
|
|
199
|
+
def from_id(self, value):
|
|
200
|
+
self._from_id.value = value
|
|
201
|
+
|
|
202
|
+
@property
|
|
203
|
+
def gantt_enabled(self):
|
|
204
|
+
return self._gantt_enabled.value
|
|
205
|
+
|
|
206
|
+
@gantt_enabled.setter
|
|
207
|
+
def gantt_enabled(self, value):
|
|
208
|
+
self._gantt_enabled.value = value
|
|
209
|
+
|
|
210
|
+
@property
|
|
211
|
+
def has_summary_fields(self):
|
|
212
|
+
return self._has_summary_fields.value
|
|
213
|
+
|
|
214
|
+
@has_summary_fields.setter
|
|
215
|
+
def has_summary_fields(self, value):
|
|
216
|
+
self._has_summary_fields.value = value
|
|
217
|
+
|
|
218
|
+
@property
|
|
219
|
+
def id_(self):
|
|
220
|
+
return self._id_.value
|
|
221
|
+
|
|
222
|
+
@id_.setter
|
|
223
|
+
def id_(self, value):
|
|
224
|
+
self._id_.value = value
|
|
225
|
+
|
|
226
|
+
@property
|
|
227
|
+
def modified_at(self):
|
|
228
|
+
return self._modified_at.value
|
|
229
|
+
|
|
230
|
+
@modified_at.setter
|
|
231
|
+
def modified_at(self, value):
|
|
232
|
+
self._modified_at.value = value
|
|
233
|
+
|
|
234
|
+
@property
|
|
235
|
+
def name(self):
|
|
236
|
+
return self._name.value
|
|
237
|
+
|
|
238
|
+
@name.setter
|
|
239
|
+
def name(self, value):
|
|
240
|
+
self._name.value = value
|
|
241
|
+
|
|
242
|
+
@property
|
|
243
|
+
def owner(self):
|
|
244
|
+
return self._owner.value
|
|
245
|
+
|
|
246
|
+
@owner.setter
|
|
247
|
+
def owner(self, value):
|
|
248
|
+
self._owner.value = value
|
|
249
|
+
|
|
250
|
+
@property
|
|
251
|
+
def owner_id(self):
|
|
252
|
+
return self._owner_id.value
|
|
253
|
+
|
|
254
|
+
@owner_id.setter
|
|
255
|
+
def owner_id(self, value):
|
|
256
|
+
self._owner_id.value = value
|
|
257
|
+
|
|
258
|
+
@property
|
|
259
|
+
def permalink(self):
|
|
260
|
+
return self._permalink.value
|
|
261
|
+
|
|
262
|
+
@permalink.setter
|
|
263
|
+
def permalink(self, value):
|
|
264
|
+
self._permalink.value = value
|
|
265
|
+
|
|
266
|
+
@property
|
|
267
|
+
def project_settings(self):
|
|
268
|
+
return self._project_settings.value
|
|
269
|
+
|
|
270
|
+
@project_settings.setter
|
|
271
|
+
def project_settings(self, value):
|
|
272
|
+
self._project_settings.value = value
|
|
273
|
+
|
|
274
|
+
@property
|
|
275
|
+
def read_only(self):
|
|
276
|
+
return self._read_only.value
|
|
277
|
+
|
|
278
|
+
@read_only.setter
|
|
279
|
+
def read_only(self, value):
|
|
280
|
+
self._read_only.value = value
|
|
281
|
+
|
|
282
|
+
@property
|
|
283
|
+
def resource_management_enabled(self):
|
|
284
|
+
return self._resource_management_enabled.value
|
|
285
|
+
|
|
286
|
+
@resource_management_enabled.setter
|
|
287
|
+
def resource_management_enabled(self, value):
|
|
288
|
+
self._resource_management_enabled.value = value
|
|
289
|
+
|
|
290
|
+
@property
|
|
291
|
+
def rows(self):
|
|
292
|
+
return self._rows
|
|
293
|
+
|
|
294
|
+
@rows.setter
|
|
295
|
+
def rows(self, value):
|
|
296
|
+
self._rows.load(value)
|
|
297
|
+
|
|
298
|
+
@property
|
|
299
|
+
def show_parent_rows_for_filters(self):
|
|
300
|
+
return self._show_parent_rows_for_filters.value
|
|
301
|
+
|
|
302
|
+
@show_parent_rows_for_filters.setter
|
|
303
|
+
def show_parent_rows_for_filters(self, value):
|
|
304
|
+
self._show_parent_rows_for_filters.value = value
|
|
305
|
+
|
|
306
|
+
@property
|
|
307
|
+
def source(self):
|
|
308
|
+
return self._source.value
|
|
309
|
+
|
|
310
|
+
@source.setter
|
|
311
|
+
def source(self, value):
|
|
312
|
+
self._source.value = value
|
|
313
|
+
|
|
314
|
+
@property
|
|
315
|
+
def summary(self):
|
|
316
|
+
return self._summary.value
|
|
317
|
+
|
|
318
|
+
@summary.setter
|
|
319
|
+
def summary(self, value):
|
|
320
|
+
self._summary.value = value
|
|
321
|
+
|
|
322
|
+
@property
|
|
323
|
+
def total_row_count(self):
|
|
324
|
+
return self._total_row_count.value
|
|
325
|
+
|
|
326
|
+
@total_row_count.setter
|
|
327
|
+
def total_row_count(self, value):
|
|
328
|
+
self._total_row_count.value = value
|
|
329
|
+
|
|
330
|
+
@property
|
|
331
|
+
def user_permissions(self):
|
|
332
|
+
return self._user_permissions.value
|
|
333
|
+
|
|
334
|
+
@user_permissions.setter
|
|
335
|
+
def user_permissions(self, value):
|
|
336
|
+
self._user_permissions.value = value
|
|
337
|
+
|
|
338
|
+
@property
|
|
339
|
+
def user_settings(self):
|
|
340
|
+
return self._user_settings.value
|
|
341
|
+
|
|
342
|
+
@user_settings.setter
|
|
343
|
+
def user_settings(self, value):
|
|
344
|
+
self._user_settings.value = value
|
|
345
|
+
|
|
346
|
+
@property
|
|
347
|
+
def version(self):
|
|
348
|
+
return self._version.value
|
|
349
|
+
|
|
350
|
+
@version.setter
|
|
351
|
+
def version(self, value):
|
|
352
|
+
self._version.value = value
|
|
353
|
+
|
|
354
|
+
@property
|
|
355
|
+
def workspace(self):
|
|
356
|
+
return self._workspace.value
|
|
357
|
+
|
|
358
|
+
@workspace.setter
|
|
359
|
+
def workspace(self, value):
|
|
360
|
+
self._workspace.value = value
|
|
361
|
+
|
|
362
|
+
def add_columns(self, list_of_columns):
|
|
363
|
+
return self._base.Sheets.add_columns(self.id, list_of_columns)
|
|
364
|
+
|
|
365
|
+
def add_rows(self, list_of_rows):
|
|
366
|
+
return self._base.Sheets.add_rows(self.id, list_of_rows)
|
|
367
|
+
|
|
368
|
+
def delete_column(self, column_id):
|
|
369
|
+
return self._base.Sheets.delete_column(self.id, column_id)
|
|
370
|
+
|
|
371
|
+
def delete_rows(self, object_ids, ignore_rows_not_found=False):
|
|
372
|
+
return self._base.Sheets.delete_rows(self.id, object_ids, ignore_rows_not_found)
|
|
373
|
+
|
|
374
|
+
def get_column(self, column_id, include=None):
|
|
375
|
+
return self._base.Sheets.get_column(self.id, column_id, include)
|
|
376
|
+
|
|
377
|
+
def get_columns(self, include=None, page_size=100, page=1, include_all=False):
|
|
378
|
+
return self._base.Sheets.get_columns(
|
|
379
|
+
self.id, include, page_size, page, include_all
|
|
380
|
+
)
|
|
381
|
+
|
|
382
|
+
def get_row(self, row_id, include=None, exclude=None):
|
|
383
|
+
return self._base.Sheets.get_row(self.id, row_id, include, exclude)
|
|
384
|
+
|
|
385
|
+
def get_version(self):
|
|
386
|
+
return self._base.Sheets.get_sheet_version(self.id)
|
|
387
|
+
|
|
388
|
+
def list_shares(
|
|
389
|
+
self,
|
|
390
|
+
page_size=100,
|
|
391
|
+
page=1,
|
|
392
|
+
include_all=False,
|
|
393
|
+
include_workspace_shares=False,
|
|
394
|
+
access_api_level=0,
|
|
395
|
+
):
|
|
396
|
+
return self._base.Sheets.list_shares(
|
|
397
|
+
self.id,
|
|
398
|
+
page_size,
|
|
399
|
+
page,
|
|
400
|
+
include_all,
|
|
401
|
+
include_workspace_shares,
|
|
402
|
+
access_api_level,
|
|
403
|
+
)
|
|
404
|
+
|
|
405
|
+
def share(self, share_obj, send_email=False):
|
|
406
|
+
return self._base.Sheets.share_sheet(self.id, share_obj, send_email)
|
|
407
|
+
|
|
408
|
+
def shares(self, page_size=100, page=1, include_all=False):
|
|
409
|
+
return self._base.Sheets.list_shares(
|
|
410
|
+
self.id, page_size=100, page=1, include_all=False
|
|
411
|
+
)
|
|
412
|
+
|
|
413
|
+
def update_share(self, share_id, share_obj):
|
|
414
|
+
return self._base.Sheets.update_share(self.id, share_id, share_obj)
|
|
415
|
+
|
|
416
|
+
def get_share(self, share_id):
|
|
417
|
+
return self._base.Sheets.get_share(self.id, share_id)
|
|
418
|
+
|
|
419
|
+
def delete_share(self, share_id):
|
|
420
|
+
return self._base.Sheets.delete_share(self.id, share_id)
|
|
421
|
+
|
|
422
|
+
def update_name(self, new_name):
|
|
423
|
+
return self._base.Sheets.update_sheet(self.id, Sheet({"name": new_name}))
|
|
424
|
+
|
|
425
|
+
def get_publish_status(self):
|
|
426
|
+
return self._base.Sheets.get_publish_status(self.id)
|
|
427
|
+
|
|
428
|
+
def set_publish_status(self, sheet_publish_obj):
|
|
429
|
+
return self._base.Sheets.set_publish_status(self.id, sheet_publish_obj)
|
|
430
|
+
|
|
431
|
+
def create_discussion(self, title, comment, _file=None):
|
|
432
|
+
dis = Discussion({"title": title, "comment": Comment({"text": comment})})
|
|
433
|
+
if _file is not None:
|
|
434
|
+
return self._base.Discussions.create_discussion_on_sheet_with_attachment(
|
|
435
|
+
self.id, dis, _file
|
|
436
|
+
)
|
|
437
|
+
else:
|
|
438
|
+
return self._base.Discussions.create_discussion_on_sheet(self.id, dis)
|
|
439
|
+
|
|
440
|
+
def get_all_discussions(
|
|
441
|
+
self, include=None, page_size=100, page=1, include_all=False
|
|
442
|
+
):
|
|
443
|
+
return self._base.Discussions.get_all_discussions(
|
|
444
|
+
self.id, include, page_size, page, include_all
|
|
445
|
+
)
|
|
446
|
+
|
|
447
|
+
def attach_url(self, attachment_obj):
|
|
448
|
+
return self._base.Attachments.attach_url_to_sheet(self.id, attachment_obj)
|
|
449
|
+
|
|
450
|
+
def get_column_by_title(self, title):
|
|
451
|
+
for col in self.columns:
|
|
452
|
+
if col.title == title:
|
|
453
|
+
return col
|
|
454
|
+
|
|
455
|
+
def to_dict(self):
|
|
456
|
+
return serialize(self)
|
|
457
|
+
|
|
458
|
+
def to_json(self):
|
|
459
|
+
return json.dumps(self.to_dict())
|
|
460
|
+
|
|
461
|
+
def __str__(self):
|
|
462
|
+
return self.to_json()
|
|
@@ -0,0 +1,81 @@
|
|
|
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, TypedObject, json
|
|
21
|
+
from ..util import deserialize, serialize
|
|
22
|
+
from .email import Email
|
|
23
|
+
from .enums import SheetEmailFormat
|
|
24
|
+
from .format_details import FormatDetails
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class SheetEmail(Email):
|
|
28
|
+
|
|
29
|
+
"""Smartsheet SheetEmail data model."""
|
|
30
|
+
|
|
31
|
+
def __init__(self, props=None, base_obj=None):
|
|
32
|
+
"""Initialize the SheetEmail model."""
|
|
33
|
+
super().__init__(None, base_obj)
|
|
34
|
+
self._base = None
|
|
35
|
+
if base_obj is not None:
|
|
36
|
+
self._base = base_obj
|
|
37
|
+
|
|
38
|
+
self._format_ = EnumeratedValue(SheetEmailFormat)
|
|
39
|
+
self._format_details = TypedObject(FormatDetails)
|
|
40
|
+
|
|
41
|
+
if props:
|
|
42
|
+
deserialize(self, props)
|
|
43
|
+
|
|
44
|
+
self.__initialized = True
|
|
45
|
+
|
|
46
|
+
def __getattr__(self, key):
|
|
47
|
+
if key == "format":
|
|
48
|
+
return self.format_
|
|
49
|
+
else:
|
|
50
|
+
raise AttributeError(key)
|
|
51
|
+
|
|
52
|
+
def __setattr__(self, key, value):
|
|
53
|
+
if key == "format":
|
|
54
|
+
self.format_ = value
|
|
55
|
+
else:
|
|
56
|
+
super().__setattr__(key, value)
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def format_(self):
|
|
60
|
+
return self._format_
|
|
61
|
+
|
|
62
|
+
@format_.setter
|
|
63
|
+
def format_(self, value):
|
|
64
|
+
self._format_.set(value)
|
|
65
|
+
|
|
66
|
+
@property
|
|
67
|
+
def format_details(self):
|
|
68
|
+
return self._format_details.value
|
|
69
|
+
|
|
70
|
+
@format_details.setter
|
|
71
|
+
def format_details(self, value):
|
|
72
|
+
self._format_details.value = value
|
|
73
|
+
|
|
74
|
+
def to_dict(self):
|
|
75
|
+
return serialize(self)
|
|
76
|
+
|
|
77
|
+
def to_json(self):
|
|
78
|
+
return json.dumps(self.to_dict())
|
|
79
|
+
|
|
80
|
+
def __str__(self):
|
|
81
|
+
return self.to_json()
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# pylint: disable=C0111,R0902,R0904,R0912,R0913,R0915,E1101
|
|
2
|
+
# Smartsheet Python SDK.
|
|
3
|
+
#
|
|
4
|
+
# Copyright 2017 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, TypedObject, json
|
|
21
|
+
from ..util import deserialize, serialize
|
|
22
|
+
from .enums import SheetFilterType
|
|
23
|
+
from .sheet_filter_details import SheetFilterDetails
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class SheetFilter:
|
|
27
|
+
|
|
28
|
+
"""Smartsheet SheetFilter data model."""
|
|
29
|
+
|
|
30
|
+
def __init__(self, props=None, base_obj=None):
|
|
31
|
+
"""Initialize the SheetFilter model."""
|
|
32
|
+
self._base = None
|
|
33
|
+
if base_obj is not None:
|
|
34
|
+
self._base = base_obj
|
|
35
|
+
|
|
36
|
+
self._filter_type = EnumeratedValue(SheetFilterType)
|
|
37
|
+
self._id_ = Number()
|
|
38
|
+
self._name = String()
|
|
39
|
+
self._query = TypedObject(SheetFilterDetails)
|
|
40
|
+
self._version = Number()
|
|
41
|
+
|
|
42
|
+
if props:
|
|
43
|
+
deserialize(self, props)
|
|
44
|
+
|
|
45
|
+
self.__initialized = True
|
|
46
|
+
|
|
47
|
+
def __getattr__(self, key):
|
|
48
|
+
if key == "id":
|
|
49
|
+
return self.id_
|
|
50
|
+
else:
|
|
51
|
+
raise AttributeError(key)
|
|
52
|
+
|
|
53
|
+
def __setattr__(self, key, value):
|
|
54
|
+
if key == "id":
|
|
55
|
+
self.id_ = value
|
|
56
|
+
else:
|
|
57
|
+
super().__setattr__(key, value)
|
|
58
|
+
|
|
59
|
+
@property
|
|
60
|
+
def filter_type(self):
|
|
61
|
+
return self._filter_type
|
|
62
|
+
|
|
63
|
+
@filter_type.setter
|
|
64
|
+
def filter_type(self, value):
|
|
65
|
+
self._filter_type.set(value)
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def id_(self):
|
|
69
|
+
return self._id_.value
|
|
70
|
+
|
|
71
|
+
@id_.setter
|
|
72
|
+
def id_(self, value):
|
|
73
|
+
self._id_.value = value
|
|
74
|
+
|
|
75
|
+
@property
|
|
76
|
+
def name(self):
|
|
77
|
+
return self._name.value
|
|
78
|
+
|
|
79
|
+
@name.setter
|
|
80
|
+
def name(self, value):
|
|
81
|
+
self._name.value = value
|
|
82
|
+
|
|
83
|
+
@property
|
|
84
|
+
def query(self):
|
|
85
|
+
return self._query.value
|
|
86
|
+
|
|
87
|
+
@query.setter
|
|
88
|
+
def query(self, value):
|
|
89
|
+
self._query.value = value
|
|
90
|
+
|
|
91
|
+
@property
|
|
92
|
+
def version(self):
|
|
93
|
+
return self._version.value
|
|
94
|
+
|
|
95
|
+
@version.setter
|
|
96
|
+
def version(self, value):
|
|
97
|
+
self._version.value = value
|
|
98
|
+
|
|
99
|
+
def to_dict(self):
|
|
100
|
+
return serialize(self)
|
|
101
|
+
|
|
102
|
+
def to_json(self):
|
|
103
|
+
return json.dumps(self.to_dict())
|
|
104
|
+
|
|
105
|
+
def __str__(self):
|
|
106
|
+
return self.to_json()
|