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,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()
|
smartsheet/models/row.py
ADDED
|
@@ -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()
|