Office365-REST-Python-Client 2.6.0__py3-none-any.whl → 2.6.2__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 (234) hide show
  1. {Office365_REST_Python_Client-2.6.0.dist-info → Office365_REST_Python_Client-2.6.2.dist-info}/METADATA +20 -29
  2. {Office365_REST_Python_Client-2.6.0.dist-info → Office365_REST_Python_Client-2.6.2.dist-info}/RECORD +233 -156
  3. office365/admin/people_settings.py +16 -0
  4. office365/admin/sharepoint_settings.py +50 -1
  5. office365/admin/sharing_capabilities.py +2 -0
  6. office365/communications/calls/participant.py +6 -0
  7. office365/communications/onlinemeetings/broadcast_settings.py +5 -0
  8. office365/communications/onlinemeetings/collection.py +29 -0
  9. office365/communications/onlinemeetings/online_meeting.py +1 -1
  10. office365/communications/onlinemeetings/recordings/call.py +5 -0
  11. office365/communications/onlinemeetings/restricted.py +5 -0
  12. office365/directory/applications/collection.py +11 -0
  13. office365/directory/audit/directory.py +31 -0
  14. office365/directory/audit/signins/signin.py +14 -0
  15. office365/directory/audit/target_resource.py +5 -0
  16. office365/directory/authentication/conditions/conditions.py +5 -1
  17. office365/directory/datapolicy/operation.py +39 -0
  18. office365/directory/directory.py +13 -0
  19. office365/directory/identitygovernance/accessreview/instance.py +29 -0
  20. office365/directory/identitygovernance/accessreview/stage.py +13 -0
  21. office365/directory/identitygovernance/accessreview/stages.py +11 -0
  22. office365/directory/identitygovernance/appconsent/request.py +9 -0
  23. office365/directory/identitygovernance/privilegedaccess/group.py +1 -1
  24. office365/directory/identitygovernance/privilegedaccess/schedule/__init__.py +0 -0
  25. office365/directory/identitygovernance/privilegedaccess/{group_assignment_schedule_instance.py → schedule/group_assignment_instance.py} +1 -1
  26. office365/directory/identitygovernance/privilegedaccess/schedule/schedule.py +6 -0
  27. office365/directory/insights/trending.py +25 -0
  28. office365/directory/licenses/assignment_state.py +5 -5
  29. office365/directory/licenses/details.py +6 -0
  30. office365/directory/permissions/scoped_role_membership.py +8 -0
  31. office365/directory/policies/applied_conditional_access.py +31 -0
  32. office365/directory/policies/feature_rollout.py +24 -0
  33. office365/directory/protection/information.py +73 -2
  34. office365/directory/protection/riskyusers/collection.py +1 -1
  35. office365/directory/protection/threatassessment/requests/__init__.py +0 -0
  36. office365/directory/protection/threatassessment/{email_file_request.py → requests/email_file.py} +9 -1
  37. office365/directory/protection/threatassessment/requests/file.py +10 -0
  38. office365/directory/protection/threatassessment/{mail_request.py → requests/mail.py} +1 -1
  39. office365/directory/protection/threatassessment/requests/url.py +9 -0
  40. office365/directory/rolemanagement/app_scope.py +14 -0
  41. office365/directory/rolemanagement/application.py +3 -2
  42. office365/directory/rolemanagement/role.py +15 -0
  43. office365/directory/rolemanagement/unifiedrole/__init__.py +0 -0
  44. office365/directory/rolemanagement/{unified_role_assignment.py → unifiedrole/assignment.py} +37 -1
  45. office365/directory/rolemanagement/{unified_role_definition.py → unifiedrole/definition.py} +6 -1
  46. office365/directory/security/alerts/file_security_state.py +5 -0
  47. office365/directory/security/attacksimulations/automation.py +8 -0
  48. office365/directory/security/attacksimulations/automation_run.py +8 -0
  49. office365/directory/security/attacksimulations/repeat_offender.py +7 -0
  50. office365/directory/security/attacksimulations/report.py +2 -2
  51. office365/directory/security/attacksimulations/user.py +5 -0
  52. office365/directory/security/incidents/incident.py +6 -1
  53. office365/directory/security/security.py +5 -0
  54. office365/directory/subscriptions/__init__.py +0 -0
  55. office365/directory/subscriptions/company.py +7 -0
  56. office365/directory/synchronization/progress.py +12 -0
  57. office365/directory/users/activities/activity.py +10 -1
  58. office365/directory/users/settings.py +51 -1
  59. office365/directory/users/storage.py +5 -0
  60. office365/directory/users/user.py +114 -3
  61. office365/entity_collection.py +21 -0
  62. office365/onedrive/contenttypes/collection.py +2 -0
  63. office365/onedrive/driveitems/driveItem.py +3 -2
  64. office365/onedrive/driveitems/publication_facet.py +6 -1
  65. office365/onedrive/filestorage/container.py +22 -0
  66. office365/onedrive/filestorage/container_collection.py +37 -0
  67. office365/onedrive/filestorage/file_storage.py +4 -4
  68. office365/onedrive/listitems/collection.py +38 -0
  69. office365/onedrive/lists/list.py +3 -5
  70. office365/onedrive/sitepages/base.py +8 -0
  71. office365/onedrive/sitepages/collection.py +8 -2
  72. office365/onedrive/sitepages/site_page.py +13 -2
  73. office365/onedrive/sites/site.py +1 -1
  74. office365/onedrive/workbooks/charts/title.py +12 -0
  75. office365/onedrive/workbooks/charts/title_format.py +5 -0
  76. office365/onedrive/workbooks/functions/functions.py +16 -0
  77. office365/onedrive/workbooks/ranges/border.py +30 -0
  78. office365/onedrive/workbooks/ranges/font.py +39 -0
  79. office365/onedrive/workbooks/ranges/range.py +6 -0
  80. office365/onedrive/workbooks/worksheets/protection_options.py +34 -5
  81. office365/outlook/calendar/events/event.py +57 -0
  82. office365/outlook/mail/automatic_replies_mailtips.py +20 -0
  83. office365/outlook/mail/folders/folder.py +3 -4
  84. office365/outlook/mail/messages/message.py +21 -4
  85. office365/outlook/mail/messages/rules/collection.py +26 -0
  86. office365/outlook/mail/tips/__init__.py +0 -0
  87. office365/outlook/mail/tips/error.py +5 -0
  88. office365/outlook/mail/tips/tips.py +41 -0
  89. office365/outlook/people/__init__.py +0 -0
  90. office365/outlook/people/profile_card_property.py +15 -0
  91. office365/outlook/person.py +7 -0
  92. office365/planner/category_descriptions.py +6 -0
  93. office365/planner/external_references.py +7 -0
  94. office365/planner/planner.py +4 -4
  95. office365/planner/plans/container.py +12 -0
  96. office365/planner/plans/details.py +31 -0
  97. office365/planner/tasks/collection.py +37 -0
  98. office365/planner/tasks/task.py +24 -0
  99. office365/planner/tasks/task_details.py +34 -1
  100. office365/planner/user_ids.py +8 -0
  101. office365/reports/internal/queries/create_report_query.py +12 -3
  102. office365/reports/root.py +61 -2
  103. office365/runtime/auth/authentication_context.py +10 -1
  104. office365/runtime/auth/providers/saml_token_provider.py +5 -13
  105. office365/runtime/auth/sts_profile.py +35 -18
  106. office365/runtime/client_object.py +1 -1
  107. office365/runtime/client_object_collection.py +3 -5
  108. office365/runtime/client_result.py +3 -3
  109. office365/runtime/client_runtime_context.py +2 -2
  110. office365/runtime/odata/json_format.py +14 -3
  111. office365/runtime/odata/request.py +1 -3
  112. office365/runtime/odata/v3/json_light_format.py +18 -0
  113. office365/runtime/odata/v4/json_format.py +19 -0
  114. office365/runtime/queries/client_query.py +13 -8
  115. office365/runtime/queries/create_entity.py +7 -5
  116. office365/runtime/queries/delete_entity.py +6 -2
  117. office365/runtime/queries/function.py +3 -4
  118. office365/runtime/queries/read_entity.py +3 -5
  119. office365/runtime/queries/service_operation.py +2 -7
  120. office365/search/acronyms/__init__.py +0 -0
  121. office365/search/answer.py +35 -0
  122. office365/search/bookmarks/__init__.py +0 -0
  123. office365/search/bookmarks/bookmark.py +7 -0
  124. office365/search/entity.py +81 -2
  125. office365/search/entity_type.py +6 -1
  126. office365/search/external/item.py +5 -0
  127. office365/search/identity_set.py +11 -0
  128. office365/search/qnas/__init__.py +0 -0
  129. office365/search/qnas/qna.py +9 -0
  130. office365/sharepoint/activities/client_response.py +2 -2
  131. office365/sharepoint/apps/launcher.py +9 -0
  132. office365/sharepoint/brandcenter/brand_center.py +26 -0
  133. office365/sharepoint/client_context.py +19 -1
  134. office365/sharepoint/compliance/preserve_document_submitter.py +5 -0
  135. office365/sharepoint/compliance/store_proxy.py +75 -0
  136. office365/sharepoint/convergence/migration_complete_state_api.py +9 -0
  137. office365/sharepoint/copilot/file_metadata.py +5 -0
  138. office365/sharepoint/fields/builtin_field_id.py +8 -0
  139. office365/sharepoint/files/collection.py +10 -0
  140. office365/sharepoint/files/file.py +24 -3
  141. office365/sharepoint/listitems/listitem.py +61 -3
  142. office365/sharepoint/lists/exporter.py +1 -0
  143. office365/sharepoint/lists/list.py +37 -3
  144. office365/sharepoint/migrationcenter/common/results/batch_creation.py +24 -0
  145. office365/sharepoint/migrationcenter/common/task.py +8 -0
  146. office365/sharepoint/migrationcenter/common/task_definition.py +7 -1
  147. office365/sharepoint/migrationcenter/common/teams/__init__.py +0 -0
  148. office365/sharepoint/migrationcenter/common/teams/channel_resource.py +5 -0
  149. office365/sharepoint/migrationcenter/common/teams/team_resource.py +5 -0
  150. office365/sharepoint/migrationcenter/common/url_parser.py +39 -0
  151. office365/sharepoint/migrationcenter/service/services.py +13 -1
  152. office365/sharepoint/migrationcenter/service/teams.py +11 -0
  153. office365/sharepoint/navigation/node.py +7 -16
  154. office365/sharepoint/policy/license_utilities.py +1 -0
  155. office365/sharepoint/portal/groups/creation_context.py +11 -0
  156. office365/sharepoint/portal/groups/service.py +1 -1
  157. office365/sharepoint/portal/groups/site_manager.py +1 -1
  158. office365/sharepoint/publishing/pages/3d/__init__.py +0 -0
  159. office365/sharepoint/publishing/pages/3d/types.py +5 -0
  160. office365/sharepoint/publishing/pages/campaign/__init__.py +0 -0
  161. office365/sharepoint/publishing/pages/{campaign_publication.py → campaign/publication.py} +2 -0
  162. office365/sharepoint/publishing/pages/campaign/types.py +18 -0
  163. office365/sharepoint/publishing/pages/coauth_state.py +20 -0
  164. office365/sharepoint/publishing/pages/dependency_metadata.py +9 -0
  165. office365/sharepoint/publishing/pages/metadata.py +0 -10
  166. office365/sharepoint/publishing/pages/page.py +29 -0
  167. office365/sharepoint/publishing/pages/service.py +27 -6
  168. office365/sharepoint/publishing/pages/topics/collection.py +1 -1
  169. office365/sharepoint/request.py +6 -2
  170. office365/sharepoint/search/administration/tenant_crawl_versions_info_provider.py +16 -0
  171. office365/sharepoint/sharing/access_request_settings.py +18 -0
  172. office365/sharepoint/sharing/address_bar_link_settings.py +5 -0
  173. office365/sharepoint/sharing/information.py +2 -0
  174. office365/sharepoint/sharing/links/partial_success_response.py +4 -0
  175. office365/sharepoint/sites/azure_container_Info.py +4 -1
  176. office365/sharepoint/sites/brand_center_configuration.py +5 -0
  177. office365/sharepoint/sites/manager/__init__.py +0 -0
  178. office365/sharepoint/sites/manager/service.py +34 -0
  179. office365/sharepoint/sites/manager/types.py +5 -0
  180. office365/sharepoint/sites/site.py +54 -0
  181. office365/sharepoint/sites/themes.py +5 -0
  182. office365/sharepoint/storagemetrics/storage_metrics.py +18 -0
  183. office365/sharepoint/tenant/administration/copilot/agentinsights/__init__.py +0 -0
  184. office365/sharepoint/tenant/administration/copilot/agentinsights/client.py +42 -0
  185. office365/sharepoint/tenant/administration/copilot/agentinsights/report_metadata.py +5 -0
  186. office365/sharepoint/tenant/administration/group.py +34 -0
  187. office365/sharepoint/tenant/administration/policies/file_version_types.py +17 -0
  188. office365/sharepoint/tenant/administration/policies/list_parameters.py +9 -0
  189. office365/sharepoint/tenant/administration/policies/resource_storage.py +9 -0
  190. office365/sharepoint/tenant/administration/sites/properties_enumerable_filter.py +6 -0
  191. office365/sharepoint/tenant/administration/tenant.py +182 -5
  192. office365/sharepoint/userprofiles/people_manager.py +3 -1
  193. office365/sharepoint/utilities/utility.py +16 -0
  194. office365/sharepoint/webparts/definition.py +26 -0
  195. office365/sharepoint/webparts/limited_manager.py +53 -0
  196. office365/sharepoint/webparts/webpart.py +47 -0
  197. office365/sharepoint/webs/regional_settings.py +27 -0
  198. office365/sharepoint/webs/web.py +20 -1
  199. office365/teams/apps/app.py +17 -0
  200. office365/teams/apps/authorization.py +16 -0
  201. office365/teams/apps/permission_set.py +14 -0
  202. office365/teams/apps/resource_specific_permission.py +5 -0
  203. office365/teams/chats/chat.py +60 -0
  204. office365/teams/chats/messages/message.py +17 -0
  205. office365/teams/chats/type.py +13 -0
  206. office365/teams/chats/viewpoint.py +5 -0
  207. office365/teams/fun_settings.py +14 -2
  208. office365/teams/info.py +1 -1
  209. office365/teams/schedule/entity.py +3 -0
  210. office365/teams/schedule/shifts/item.py +1 -0
  211. office365/teams/schedule/shifts/offer/request.py +41 -1
  212. office365/teams/teamwork/activity_topic.py +5 -0
  213. office365/teams/teamwork/online_meeting_info.py +21 -0
  214. office365/teams/teamwork/shiftmanagement/__init__.py +0 -0
  215. office365/teams/teamwork/shiftmanagement/user_solution_root.py +5 -0
  216. office365/teams/teamwork/user.py +48 -1
  217. office365/teams/teamwork/user_identity.py +5 -0
  218. office365/teams/viva/community.py +13 -0
  219. office365/teams/viva/employee_experience.py +27 -0
  220. office365/teams/viva/employee_experience_user.py +16 -0
  221. office365/teams/viva/learning/courses/self_initiated.py +5 -0
  222. office365/todo/attachments/task_file.py +3 -0
  223. office365/todo/checklist_item.py +11 -0
  224. office365/todo/tasks/list.py +11 -0
  225. office365/todo/tasks/task.py +31 -0
  226. office365/outlook/mail/tips.py +0 -17
  227. {Office365_REST_Python_Client-2.6.0.dist-info → Office365_REST_Python_Client-2.6.2.dist-info}/LICENSE +0 -0
  228. {Office365_REST_Python_Client-2.6.0.dist-info → Office365_REST_Python_Client-2.6.2.dist-info}/WHEEL +0 -0
  229. {Office365_REST_Python_Client-2.6.0.dist-info → Office365_REST_Python_Client-2.6.2.dist-info}/top_level.txt +0 -0
  230. /office365/directory/identitygovernance/privilegedaccess/{schedule_instance.py → schedule/instance.py} +0 -0
  231. /office365/directory/protection/threatassessment/{request.py → requests/request.py} +0 -0
  232. /office365/directory/rolemanagement/{unified_role_permission.py → unifiedrole/permission.py} +0 -0
  233. /office365/search/{acronym.py → acronyms/acronym.py} +0 -0
  234. /office365/sharepoint/publishing/pages/{page_3d.py → 3d/page.py} +0 -0
@@ -1,15 +1,59 @@
1
+ from typing import Optional
2
+
1
3
  from office365.entity import Entity
2
4
  from office365.entity_collection import EntityCollection
3
5
  from office365.runtime.paths.resource_path import ResourcePath
4
6
  from office365.runtime.queries.service_operation import ServiceOperationQuery
5
7
  from office365.teams.apps.user_scope_installation import UserScopeTeamsAppInstallation
8
+ from office365.teams.associated_info import AssociatedTeamInfo
6
9
 
7
10
 
8
11
  class UserTeamwork(Entity):
9
12
  """A container for the range of Microsoft Teams functionalities that are available per user in the tenant."""
10
13
 
14
+ @property
15
+ def locale(self):
16
+ # type: () -> Optional[str]
17
+ """Represents the location that a user selected in Microsoft Teams and doesn't follow the Office's locale
18
+ setting. A user's locale is represented by their preferred language and country or region.
19
+ For example, en-us. The language component follows two-letter codes as defined in ISO 639-1,
20
+ and the country component follows two-letter codes as defined in ISO 3166-1 alpha-2.
21
+ """
22
+ return self.properties.get("locale", None)
23
+
24
+ @property
25
+ def region(self):
26
+ # type: () -> Optional[str]
27
+ """Represents the region of the organization or the user. For users with multigeo licenses, the property
28
+ contains the user's region (if available). For users without multigeo licenses, the property contains
29
+ the organization's region.
30
+
31
+ The region value can be any region supported by the Teams payload.
32
+ The possible values are: Americas, Europe and MiddleEast, Asia Pacific, UAE, Australia, Brazil, Canada,
33
+ Switzerland, Germany, France, India, Japan, South Korea, Norway, Singapore, United Kingdom, South Africa,
34
+ Sweden, Qatar, Poland, Italy, Israel, Spain, Mexico, USGov Community Cloud, USGov Community Cloud High,
35
+ USGov Department of Defense, and China.
36
+ """
37
+ return self.properties.get("region", None)
38
+
39
+ @property
40
+ def associated_teams(self):
41
+ # type: () -> EntityCollection[AssociatedTeamInfo]
42
+ """
43
+ The apps installed in the personal scope of this user.
44
+ """
45
+ return self.properties.get(
46
+ "associatedTeams",
47
+ EntityCollection(
48
+ self.context,
49
+ AssociatedTeamInfo,
50
+ ResourcePath("associatedTeams", self.resource_path),
51
+ ),
52
+ )
53
+
11
54
  @property
12
55
  def installed_apps(self):
56
+ # type: () -> EntityCollection[UserScopeTeamsAppInstallation]
13
57
  """
14
58
  The apps installed in the personal scope of this user.
15
59
  """
@@ -51,6 +95,9 @@ class UserTeamwork(Entity):
51
95
 
52
96
  def get_property(self, name, default_value=None):
53
97
  if default_value is None:
54
- property_mapping = {"installedApps": self.installed_apps}
98
+ property_mapping = {
99
+ "associatedTeams": self.associated_teams,
100
+ "installedApps": self.installed_apps,
101
+ }
55
102
  default_value = property_mapping.get(name, None)
56
103
  return super(UserTeamwork, self).get_property(name, default_value)
@@ -0,0 +1,5 @@
1
+ from office365.directory.permissions.identity import Identity
2
+
3
+
4
+ class TeamworkUserIdentity(Identity):
5
+ """Represents a user in Microsoft Teams."""
@@ -0,0 +1,13 @@
1
+ from office365.entity import Entity
2
+
3
+
4
+ class Community(Entity):
5
+ """Represents a community in Viva Engage that is a central place for conversations, files, events, and
6
+ updates for people sharing a common interest or goal.
7
+
8
+ Every community is associated with a Microsoft 365 group, but the group doesn't have the same ID as the community.
9
+ For more information about managing communities in Viva Engage, see Use the Microsoft Graph API to work
10
+ with Viva Engage.
11
+
12
+ This resource is an open type that allows other properties to be passed in.
13
+ """
@@ -1,12 +1,38 @@
1
1
  from office365.entity import Entity
2
2
  from office365.entity_collection import EntityCollection
3
3
  from office365.runtime.paths.resource_path import ResourcePath
4
+ from office365.teams.viva.community import Community
5
+ from office365.teams.viva.learning.courses.activity import LearningCourseActivity
4
6
  from office365.teams.viva.learning.provider import LearningProvider
5
7
 
6
8
 
7
9
  class EmployeeExperience(Entity):
8
10
  """Represents a container that exposes navigation properties for employee experience resources."""
9
11
 
12
+ @property
13
+ def communities(self):
14
+ """A collection of communities in Viva Engage."""
15
+ return self.properties.get(
16
+ "communities",
17
+ EntityCollection(
18
+ self.context,
19
+ Community,
20
+ ResourcePath("communities", self.resource_path),
21
+ ),
22
+ )
23
+
24
+ @property
25
+ def learning_course_activities(self):
26
+ """A collection of learning course activities."""
27
+ return self.properties.get(
28
+ "learningCourseActivities",
29
+ EntityCollection(
30
+ self.context,
31
+ LearningCourseActivity,
32
+ ResourcePath("learningCourseActivities", self.resource_path),
33
+ ),
34
+ )
35
+
10
36
  @property
11
37
  def learning_providers(self):
12
38
  """A collection of learning providers."""
@@ -22,6 +48,7 @@ class EmployeeExperience(Entity):
22
48
  def get_property(self, name, default_value=None):
23
49
  if default_value is None:
24
50
  property_mapping = {
51
+ "learningCourseActivities": self.learning_course_activities,
25
52
  "learningProviders": self.learning_providers,
26
53
  }
27
54
  default_value = property_mapping.get(name, None)
@@ -1,5 +1,21 @@
1
1
  from office365.entity import Entity
2
+ from office365.entity_collection import EntityCollection
3
+ from office365.runtime.paths.resource_path import ResourcePath
4
+ from office365.teams.viva.learning.courses.activity import LearningCourseActivity
2
5
 
3
6
 
4
7
  class EmployeeExperienceUser(Entity):
5
8
  """"""
9
+
10
+ @property
11
+ def learning_course_activities(self):
12
+ # type: () -> EntityCollection[LearningCourseActivity]
13
+ """Get a list of the learningCourseActivity objects (assigned or self-initiated) for a user."""
14
+ return self.properties.get(
15
+ "learningCourseActivities",
16
+ EntityCollection(
17
+ self.context,
18
+ LearningCourseActivity,
19
+ ResourcePath("learningCourseActivities", self.resource_path),
20
+ ),
21
+ )
@@ -0,0 +1,5 @@
1
+ from office365.teams.viva.learning.courses.activity import LearningCourseActivity
2
+
3
+
4
+ class LearningSelfInitiatedCourse(LearningCourseActivity):
5
+ """Represents the details of a learning course activity that is self-initiated by a user."""
@@ -1,3 +1,5 @@
1
+ from typing import AnyStr, Optional
2
+
1
3
  from office365.todo.attachments.base import AttachmentBase
2
4
 
3
5
 
@@ -10,5 +12,6 @@ class TaskFileAttachment(AttachmentBase):
10
12
 
11
13
  @property
12
14
  def content_bytes(self):
15
+ # type: () -> Optional[AnyStr]
13
16
  """The base64-encoded contents of the file."""
14
17
  return self.properties.get("contentBytes", None)
@@ -1,6 +1,17 @@
1
+ from typing import Optional
2
+
1
3
  from office365.entity import Entity
2
4
 
3
5
 
4
6
  class ChecklistItem(Entity):
5
7
  """Represents a subtask in a bigger todoTask. ChecklistItem allows breaking down a complex task into more
6
8
  actionable, smaller tasks."""
9
+
10
+ def __str__(self):
11
+ return self.display_name or self.entity_type_name
12
+
13
+ @property
14
+ def display_name(self):
15
+ # type: () -> Optional[str]
16
+ """Indicates the title of the checklistItem."""
17
+ return self.properties.get("displayName", None)
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from office365.directory.extensions.extension import Extension
2
4
  from office365.entity import Entity
3
5
  from office365.entity_collection import EntityCollection
@@ -8,6 +10,15 @@ from office365.todo.tasks.task import TodoTask
8
10
  class TodoTaskList(Entity):
9
11
  """A list in Microsoft To Do that contains one or more todoTask resources."""
10
12
 
13
+ def __str__(self):
14
+ return self.display_name or self.entity_type_name
15
+
16
+ @property
17
+ def display_name(self):
18
+ # type: () -> Optional[str]
19
+ """The name of the task list."""
20
+ return self.properties.get("displayName", None)
21
+
11
22
  @property
12
23
  def extensions(self):
13
24
  # type: () -> EntityCollection[Extension]
@@ -1,7 +1,11 @@
1
+ from typing import Optional
2
+
1
3
  from office365.directory.extensions.extension import Extension
2
4
  from office365.entity import Entity
3
5
  from office365.entity_collection import EntityCollection
6
+ from office365.outlook.mail.item_body import ItemBody
4
7
  from office365.runtime.paths.resource_path import ResourcePath
8
+ from office365.todo.attachments.base import AttachmentBase
5
9
  from office365.todo.checklist_item import ChecklistItem
6
10
  from office365.todo.linked_resource import LinkedResource
7
11
 
@@ -9,6 +13,33 @@ from office365.todo.linked_resource import LinkedResource
9
13
  class TodoTask(Entity):
10
14
  """A todoTask represents a task, such as a piece of work or personal item, that can be tracked and completed."""
11
15
 
16
+ def __str__(self):
17
+ return self.title or self.entity_type_name
18
+
19
+ @property
20
+ def body(self):
21
+ """The task body that typically contains information about the task."""
22
+ return self.properties.get("body", ItemBody())
23
+
24
+ @property
25
+ def title(self):
26
+ # type: () -> Optional[str]
27
+ """A brief description of the task."""
28
+ return self.properties.get("title", None)
29
+
30
+ @property
31
+ def attachments(self):
32
+ # type: () -> EntityCollection[AttachmentBase]
33
+ """A collection of file attachments for the task."""
34
+ return self.properties.get(
35
+ "attachments",
36
+ EntityCollection(
37
+ self.context,
38
+ AttachmentBase,
39
+ ResourcePath("attachments", self.resource_path),
40
+ ),
41
+ )
42
+
12
43
  @property
13
44
  def extensions(self):
14
45
  # type: () -> EntityCollection[Extension]
@@ -1,17 +0,0 @@
1
- from office365.outlook.mail.automatic_replies_mailtips import AutomaticRepliesMailTips
2
- from office365.runtime.client_value import ClientValue
3
-
4
-
5
- class MailTips(ClientValue):
6
- """Informative messages about a recipient, that are displayed to users while they're composing a message.
7
- For example, an out-of-office message as an automatic reply for a message recipient.
8
- """
9
-
10
- def __init__(self, automaticReplies=AutomaticRepliesMailTips(), customMailTip=None):
11
- """
12
- :param AutomaticRepliesMailTips automaticReplies: Mail tips for automatic reply if it has been set up by
13
- the recipient.
14
- :param str customMailTip: A custom mail tip that can be set on the recipient's mailbox.
15
- """
16
- self.automaticReplies = automaticReplies
17
- self.customMailTip = customMailTip
File without changes