files-com 1.5.5__tar.gz → 1.6.0__tar.gz

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.

Potentially problematic release.


This version of files-com might be problematic. Click here for more details.

Files changed (219) hide show
  1. {files_com-1.5.5/files_com.egg-info → files_com-1.6.0}/PKG-INFO +9 -3
  2. {files_com-1.5.5 → files_com-1.6.0}/README.md +8 -2
  3. files_com-1.6.0/_VERSION +1 -0
  4. {files_com-1.5.5 → files_com-1.6.0/files_com.egg-info}/PKG-INFO +9 -3
  5. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/__init__.py +13 -2
  6. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/api.py +7 -1
  7. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/api_client.py +11 -2
  8. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/action_notification_export.py +6 -0
  9. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/as2_partner.py +12 -0
  10. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/automation.py +64 -0
  11. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/behavior.py +22 -0
  12. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/bundle.py +102 -0
  13. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/bundle_notification.py +24 -0
  14. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/bundle_recipient.py +6 -0
  15. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/file.py +52 -0
  16. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/folder.py +22 -0
  17. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/form_field_set.py +24 -0
  18. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/group.py +54 -0
  19. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/group_user.py +4 -0
  20. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/inbox_recipient.py +6 -0
  21. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/lock.py +16 -0
  22. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/notification.py +94 -0
  23. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/permission.py +8 -0
  24. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/remote_server.py +66 -0
  25. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/request.py +4 -0
  26. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/restore.py +18 -0
  27. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/siem_http_destination.py +216 -0
  28. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/site.py +514 -0
  29. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/user.py +222 -0
  30. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/webhook_test.py +12 -0
  31. {files_com-1.5.5 → files_com-1.6.0}/pyproject.toml +1 -1
  32. files_com-1.5.5/_VERSION +0 -1
  33. {files_com-1.5.5 → files_com-1.6.0}/LICENSE +0 -0
  34. {files_com-1.5.5 → files_com-1.6.0}/files_com.egg-info/SOURCES.txt +0 -0
  35. {files_com-1.5.5 → files_com-1.6.0}/files_com.egg-info/dependency_links.txt +0 -0
  36. {files_com-1.5.5 → files_com-1.6.0}/files_com.egg-info/requires.txt +0 -0
  37. {files_com-1.5.5 → files_com-1.6.0}/files_com.egg-info/top_level.txt +0 -0
  38. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/error.py +0 -0
  39. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/list_obj.py +0 -0
  40. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/__init__.py +0 -0
  41. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/account_line_item.py +0 -0
  42. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/action.py +0 -0
  43. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/action_notification_export_result.py +0 -0
  44. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/api_key.py +0 -0
  45. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/api_request_log.py +0 -0
  46. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/app.py +0 -0
  47. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/as2_incoming_message.py +0 -0
  48. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/as2_outgoing_message.py +0 -0
  49. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/as2_station.py +0 -0
  50. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/auto.py +0 -0
  51. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/automation_log.py +0 -0
  52. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/automation_run.py +0 -0
  53. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/bandwidth_snapshot.py +0 -0
  54. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/bundle_action.py +0 -0
  55. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/bundle_download.py +0 -0
  56. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/bundle_path.py +0 -0
  57. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/bundle_registration.py +0 -0
  58. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/clickwrap.py +0 -0
  59. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/dns_record.py +0 -0
  60. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/email_incoming_message.py +0 -0
  61. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/email_log.py +0 -0
  62. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/errors.py +0 -0
  63. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/exavault_api_request_log.py +0 -0
  64. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/external_event.py +0 -0
  65. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/file_action.py +0 -0
  66. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/file_comment.py +0 -0
  67. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/file_comment_reaction.py +0 -0
  68. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/file_migration.py +0 -0
  69. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/file_migration_log.py +0 -0
  70. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/file_upload_part.py +0 -0
  71. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/form_field.py +0 -0
  72. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/ftp_action_log.py +0 -0
  73. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/gpg_key.py +0 -0
  74. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/history.py +0 -0
  75. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/history_export.py +0 -0
  76. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/history_export_result.py +0 -0
  77. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/image.py +0 -0
  78. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/inbox_registration.py +0 -0
  79. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/inbox_upload.py +0 -0
  80. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/invoice.py +0 -0
  81. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/invoice_line_item.py +0 -0
  82. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/ip_address.py +0 -0
  83. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/message.py +0 -0
  84. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/message_comment.py +0 -0
  85. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/message_comment_reaction.py +0 -0
  86. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/message_reaction.py +0 -0
  87. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/outbound_connection_log.py +0 -0
  88. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/payment.py +0 -0
  89. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/payment_line_item.py +0 -0
  90. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/preview.py +0 -0
  91. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/priority.py +0 -0
  92. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/project.py +0 -0
  93. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/public_hosting_request_log.py +0 -0
  94. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/public_ip_address.py +0 -0
  95. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/public_key.py +0 -0
  96. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
  97. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/remote_server_configuration_file.py +0 -0
  98. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/session.py +0 -0
  99. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/settings_change.py +0 -0
  100. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/sftp_action_log.py +0 -0
  101. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/sftp_host_key.py +0 -0
  102. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/share_group.py +0 -0
  103. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/share_group_member.py +0 -0
  104. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/snapshot.py +0 -0
  105. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/sso_strategy.py +0 -0
  106. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/status.py +0 -0
  107. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/style.py +0 -0
  108. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/sync_log.py +0 -0
  109. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/usage_by_top_level_dir.py +0 -0
  110. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/usage_daily_snapshot.py +0 -0
  111. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/usage_snapshot.py +0 -0
  112. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/user_cipher_use.py +0 -0
  113. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/user_request.py +0 -0
  114. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/user_sftp_client_use.py +0 -0
  115. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/models/web_dav_action_log.py +0 -0
  116. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/path_util.py +0 -0
  117. {files_com-1.5.5 → files_com-1.6.0}/files_sdk/util.py +0 -0
  118. {files_com-1.5.5 → files_com-1.6.0}/setup.cfg +0 -0
  119. {files_com-1.5.5 → files_com-1.6.0}/tests/test_account_line_item.py +0 -0
  120. {files_com-1.5.5 → files_com-1.6.0}/tests/test_action.py +0 -0
  121. {files_com-1.5.5 → files_com-1.6.0}/tests/test_action_notification_export.py +0 -0
  122. {files_com-1.5.5 → files_com-1.6.0}/tests/test_action_notification_export_result.py +0 -0
  123. {files_com-1.5.5 → files_com-1.6.0}/tests/test_api_errors.py +0 -0
  124. {files_com-1.5.5 → files_com-1.6.0}/tests/test_api_key.py +0 -0
  125. {files_com-1.5.5 → files_com-1.6.0}/tests/test_api_request_log.py +0 -0
  126. {files_com-1.5.5 → files_com-1.6.0}/tests/test_app.py +0 -0
  127. {files_com-1.5.5 → files_com-1.6.0}/tests/test_as2_incoming_message.py +0 -0
  128. {files_com-1.5.5 → files_com-1.6.0}/tests/test_as2_outgoing_message.py +0 -0
  129. {files_com-1.5.5 → files_com-1.6.0}/tests/test_as2_partner.py +0 -0
  130. {files_com-1.5.5 → files_com-1.6.0}/tests/test_as2_station.py +0 -0
  131. {files_com-1.5.5 → files_com-1.6.0}/tests/test_auto.py +0 -0
  132. {files_com-1.5.5 → files_com-1.6.0}/tests/test_automation.py +0 -0
  133. {files_com-1.5.5 → files_com-1.6.0}/tests/test_automation_log.py +0 -0
  134. {files_com-1.5.5 → files_com-1.6.0}/tests/test_automation_run.py +0 -0
  135. {files_com-1.5.5 → files_com-1.6.0}/tests/test_bandwidth_snapshot.py +0 -0
  136. {files_com-1.5.5 → files_com-1.6.0}/tests/test_behavior.py +0 -0
  137. {files_com-1.5.5 → files_com-1.6.0}/tests/test_bundle.py +0 -0
  138. {files_com-1.5.5 → files_com-1.6.0}/tests/test_bundle_action.py +0 -0
  139. {files_com-1.5.5 → files_com-1.6.0}/tests/test_bundle_download.py +0 -0
  140. {files_com-1.5.5 → files_com-1.6.0}/tests/test_bundle_notification.py +0 -0
  141. {files_com-1.5.5 → files_com-1.6.0}/tests/test_bundle_path.py +0 -0
  142. {files_com-1.5.5 → files_com-1.6.0}/tests/test_bundle_recipient.py +0 -0
  143. {files_com-1.5.5 → files_com-1.6.0}/tests/test_bundle_registration.py +0 -0
  144. {files_com-1.5.5 → files_com-1.6.0}/tests/test_clickwrap.py +0 -0
  145. {files_com-1.5.5 → files_com-1.6.0}/tests/test_connection_adapter.py +0 -0
  146. {files_com-1.5.5 → files_com-1.6.0}/tests/test_dns_record.py +0 -0
  147. {files_com-1.5.5 → files_com-1.6.0}/tests/test_email_incoming_message.py +0 -0
  148. {files_com-1.5.5 → files_com-1.6.0}/tests/test_email_log.py +0 -0
  149. {files_com-1.5.5 → files_com-1.6.0}/tests/test_errors.py +0 -0
  150. {files_com-1.5.5 → files_com-1.6.0}/tests/test_exavault_api_request_log.py +0 -0
  151. {files_com-1.5.5 → files_com-1.6.0}/tests/test_external_event.py +0 -0
  152. {files_com-1.5.5 → files_com-1.6.0}/tests/test_file.py +0 -0
  153. {files_com-1.5.5 → files_com-1.6.0}/tests/test_file_action.py +0 -0
  154. {files_com-1.5.5 → files_com-1.6.0}/tests/test_file_comment.py +0 -0
  155. {files_com-1.5.5 → files_com-1.6.0}/tests/test_file_comment_reaction.py +0 -0
  156. {files_com-1.5.5 → files_com-1.6.0}/tests/test_file_migration.py +0 -0
  157. {files_com-1.5.5 → files_com-1.6.0}/tests/test_file_migration_log.py +0 -0
  158. {files_com-1.5.5 → files_com-1.6.0}/tests/test_file_upload_part.py +0 -0
  159. {files_com-1.5.5 → files_com-1.6.0}/tests/test_folder.py +0 -0
  160. {files_com-1.5.5 → files_com-1.6.0}/tests/test_form_field.py +0 -0
  161. {files_com-1.5.5 → files_com-1.6.0}/tests/test_form_field_set.py +0 -0
  162. {files_com-1.5.5 → files_com-1.6.0}/tests/test_ftp_action_log.py +0 -0
  163. {files_com-1.5.5 → files_com-1.6.0}/tests/test_gpg_key.py +0 -0
  164. {files_com-1.5.5 → files_com-1.6.0}/tests/test_group.py +0 -0
  165. {files_com-1.5.5 → files_com-1.6.0}/tests/test_group_user.py +0 -0
  166. {files_com-1.5.5 → files_com-1.6.0}/tests/test_history.py +0 -0
  167. {files_com-1.5.5 → files_com-1.6.0}/tests/test_history_export.py +0 -0
  168. {files_com-1.5.5 → files_com-1.6.0}/tests/test_history_export_result.py +0 -0
  169. {files_com-1.5.5 → files_com-1.6.0}/tests/test_image.py +0 -0
  170. {files_com-1.5.5 → files_com-1.6.0}/tests/test_inbox_recipient.py +0 -0
  171. {files_com-1.5.5 → files_com-1.6.0}/tests/test_inbox_registration.py +0 -0
  172. {files_com-1.5.5 → files_com-1.6.0}/tests/test_inbox_upload.py +0 -0
  173. {files_com-1.5.5 → files_com-1.6.0}/tests/test_invoice.py +0 -0
  174. {files_com-1.5.5 → files_com-1.6.0}/tests/test_invoice_line_item.py +0 -0
  175. {files_com-1.5.5 → files_com-1.6.0}/tests/test_ip_address.py +0 -0
  176. {files_com-1.5.5 → files_com-1.6.0}/tests/test_lock.py +0 -0
  177. {files_com-1.5.5 → files_com-1.6.0}/tests/test_message.py +0 -0
  178. {files_com-1.5.5 → files_com-1.6.0}/tests/test_message_comment.py +0 -0
  179. {files_com-1.5.5 → files_com-1.6.0}/tests/test_message_comment_reaction.py +0 -0
  180. {files_com-1.5.5 → files_com-1.6.0}/tests/test_message_reaction.py +0 -0
  181. {files_com-1.5.5 → files_com-1.6.0}/tests/test_notification.py +0 -0
  182. {files_com-1.5.5 → files_com-1.6.0}/tests/test_outbound_connection_log.py +0 -0
  183. {files_com-1.5.5 → files_com-1.6.0}/tests/test_path_util.py +0 -0
  184. {files_com-1.5.5 → files_com-1.6.0}/tests/test_payment.py +0 -0
  185. {files_com-1.5.5 → files_com-1.6.0}/tests/test_payment_line_item.py +0 -0
  186. {files_com-1.5.5 → files_com-1.6.0}/tests/test_permission.py +0 -0
  187. {files_com-1.5.5 → files_com-1.6.0}/tests/test_preview.py +0 -0
  188. {files_com-1.5.5 → files_com-1.6.0}/tests/test_priority.py +0 -0
  189. {files_com-1.5.5 → files_com-1.6.0}/tests/test_project.py +0 -0
  190. {files_com-1.5.5 → files_com-1.6.0}/tests/test_public_hosting_request_log.py +0 -0
  191. {files_com-1.5.5 → files_com-1.6.0}/tests/test_public_ip_address.py +0 -0
  192. {files_com-1.5.5 → files_com-1.6.0}/tests/test_public_key.py +0 -0
  193. {files_com-1.5.5 → files_com-1.6.0}/tests/test_remote_bandwidth_snapshot.py +0 -0
  194. {files_com-1.5.5 → files_com-1.6.0}/tests/test_remote_server.py +0 -0
  195. {files_com-1.5.5 → files_com-1.6.0}/tests/test_remote_server_configuration_file.py +0 -0
  196. {files_com-1.5.5 → files_com-1.6.0}/tests/test_request.py +0 -0
  197. {files_com-1.5.5 → files_com-1.6.0}/tests/test_restore.py +0 -0
  198. {files_com-1.5.5 → files_com-1.6.0}/tests/test_session.py +0 -0
  199. {files_com-1.5.5 → files_com-1.6.0}/tests/test_settings_change.py +0 -0
  200. {files_com-1.5.5 → files_com-1.6.0}/tests/test_sftp_action_log.py +0 -0
  201. {files_com-1.5.5 → files_com-1.6.0}/tests/test_sftp_host_key.py +0 -0
  202. {files_com-1.5.5 → files_com-1.6.0}/tests/test_share_group.py +0 -0
  203. {files_com-1.5.5 → files_com-1.6.0}/tests/test_share_group_member.py +0 -0
  204. {files_com-1.5.5 → files_com-1.6.0}/tests/test_siem_http_destination.py +0 -0
  205. {files_com-1.5.5 → files_com-1.6.0}/tests/test_site.py +0 -0
  206. {files_com-1.5.5 → files_com-1.6.0}/tests/test_snapshot.py +0 -0
  207. {files_com-1.5.5 → files_com-1.6.0}/tests/test_sso_strategy.py +0 -0
  208. {files_com-1.5.5 → files_com-1.6.0}/tests/test_status.py +0 -0
  209. {files_com-1.5.5 → files_com-1.6.0}/tests/test_style.py +0 -0
  210. {files_com-1.5.5 → files_com-1.6.0}/tests/test_sync_log.py +0 -0
  211. {files_com-1.5.5 → files_com-1.6.0}/tests/test_usage_by_top_level_dir.py +0 -0
  212. {files_com-1.5.5 → files_com-1.6.0}/tests/test_usage_daily_snapshot.py +0 -0
  213. {files_com-1.5.5 → files_com-1.6.0}/tests/test_usage_snapshot.py +0 -0
  214. {files_com-1.5.5 → files_com-1.6.0}/tests/test_user.py +0 -0
  215. {files_com-1.5.5 → files_com-1.6.0}/tests/test_user_cipher_use.py +0 -0
  216. {files_com-1.5.5 → files_com-1.6.0}/tests/test_user_request.py +0 -0
  217. {files_com-1.5.5 → files_com-1.6.0}/tests/test_user_sftp_client_use.py +0 -0
  218. {files_com-1.5.5 → files_com-1.6.0}/tests/test_web_dav_action_log.py +0 -0
  219. {files_com-1.5.5 → files_com-1.6.0}/tests/test_webhook_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.5.5
3
+ Version: 1.6.0
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -369,14 +369,20 @@ except files_sdk.error.Error as err:
369
369
 
370
370
  ## Foreign Language Support
371
371
 
372
- The Files.com Python SDK will soon be updated to support localized responses by using a configuration
373
- method. When available, it can be used to guide the API in selecting a preferred language for applicable response content.
372
+ The Files.com PHP SDK supports localized responses by using the `files_sdk.set_language` configuration method.
373
+ When configured, this guides the API in selecting a preferred language for applicable response content.
374
374
 
375
375
  Language support currently applies to select human-facing fields only, such as notification messages
376
376
  and error descriptions.
377
377
 
378
378
  If the specified language is not supported or the value is omitted, the API defaults to English.
379
379
 
380
+ ```shell title="Example Request"
381
+ import files_sdk
382
+
383
+ files_sdk.set_language('es')
384
+ ```
385
+
380
386
  ## Errors
381
387
 
382
388
  The Files.com Python SDK will return errors by raising exceptions. There are many exception classes defined in the Files SDK that correspond
@@ -357,14 +357,20 @@ except files_sdk.error.Error as err:
357
357
 
358
358
  ## Foreign Language Support
359
359
 
360
- The Files.com Python SDK will soon be updated to support localized responses by using a configuration
361
- method. When available, it can be used to guide the API in selecting a preferred language for applicable response content.
360
+ The Files.com PHP SDK supports localized responses by using the `files_sdk.set_language` configuration method.
361
+ When configured, this guides the API in selecting a preferred language for applicable response content.
362
362
 
363
363
  Language support currently applies to select human-facing fields only, such as notification messages
364
364
  and error descriptions.
365
365
 
366
366
  If the specified language is not supported or the value is omitted, the API defaults to English.
367
367
 
368
+ ```shell title="Example Request"
369
+ import files_sdk
370
+
371
+ files_sdk.set_language('es')
372
+ ```
373
+
368
374
  ## Errors
369
375
 
370
376
  The Files.com Python SDK will return errors by raising exceptions. There are many exception classes defined in the Files SDK that correspond
@@ -0,0 +1 @@
1
+ 1.6.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.5.5
3
+ Version: 1.6.0
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -369,14 +369,20 @@ except files_sdk.error.Error as err:
369
369
 
370
370
  ## Foreign Language Support
371
371
 
372
- The Files.com Python SDK will soon be updated to support localized responses by using a configuration
373
- method. When available, it can be used to guide the API in selecting a preferred language for applicable response content.
372
+ The Files.com PHP SDK supports localized responses by using the `files_sdk.set_language` configuration method.
373
+ When configured, this guides the API in selecting a preferred language for applicable response content.
374
374
 
375
375
  Language support currently applies to select human-facing fields only, such as notification messages
376
376
  and error descriptions.
377
377
 
378
378
  If the specified language is not supported or the value is omitted, the API defaults to English.
379
379
 
380
+ ```shell title="Example Request"
381
+ import files_sdk
382
+
383
+ files_sdk.set_language('es')
384
+ ```
385
+
380
386
  ## Errors
381
387
 
382
388
  The Files.com Python SDK will return errors by raising exceptions. There are many exception classes defined in the Files SDK that correspond
@@ -208,11 +208,12 @@ import socket
208
208
  from urllib.parse import urlparse
209
209
 
210
210
  the_api_key = ""
211
+ language = None
211
212
  session_id = None
212
213
  source_ip = None
213
214
  base_url = "https://app.files.com"
214
215
  base_path = "api/rest/v1"
215
- version = "1.5.5"
216
+ version = "1.6.0"
216
217
 
217
218
  __version__ = version
218
219
 
@@ -224,7 +225,7 @@ max_network_retries = 3
224
225
 
225
226
  console_log_level = "none"
226
227
 
227
- OPTS = ("api_key", "client", "session_id", "source_ip")
228
+ OPTS = ("api_key", "client", "session_id", "source_ip", "language")
228
229
 
229
230
 
230
231
  def set_api_key(_api_key):
@@ -237,6 +238,16 @@ def get_api_key():
237
238
  return the_api_key
238
239
 
239
240
 
241
+ def set_language(_language):
242
+ global language
243
+ language = _language
244
+
245
+
246
+ def get_language():
247
+ global language
248
+ return language
249
+
250
+
240
251
  def set_session(_session):
241
252
  if not _session.id:
242
253
  _session.save()
@@ -23,6 +23,7 @@ class Api:
23
23
  headers = copy.deepcopy(options)
24
24
  api_key = headers.pop("api_key", None)
25
25
  session_id = headers.pop("session_id", None)
26
+ language = headers.pop("language", None)
26
27
 
27
28
  session = headers.pop("session", None)
28
29
  if session:
@@ -31,7 +32,12 @@ class Api:
31
32
  session_id = str(session.id)
32
33
 
33
34
  response = Api.client().send_request(
34
- verb, path, api_key=api_key, session_id=session_id, params=params
35
+ verb,
36
+ path,
37
+ api_key=api_key,
38
+ session_id=session_id,
39
+ language=language,
40
+ params=params,
35
41
  )
36
42
 
37
43
  # Remove options not in the allow list
@@ -48,6 +48,7 @@ class ApiClient:
48
48
  path,
49
49
  api_key=None,
50
50
  session_id=None,
51
+ language=None,
51
52
  headers=None,
52
53
  params=None,
53
54
  ):
@@ -66,7 +67,13 @@ class ApiClient:
66
67
  api_key = files_sdk.get_api_key()
67
68
  self.check_api_key(api_key)
68
69
 
69
- headers = {**headers, **self.request_headers(api_key, session_id)}
70
+ if files_sdk.language:
71
+ language = files_sdk.language
72
+
73
+ headers = {
74
+ **headers,
75
+ **self.request_headers(api_key, session_id, language),
76
+ }
70
77
 
71
78
  data = None
72
79
  query_params = None
@@ -187,7 +194,7 @@ class ApiClient:
187
194
  sleep_seconds *= 0.5 * (1 + random.random())
188
195
  return max(files_sdk.initial_network_retry_delay, sleep_seconds)
189
196
 
190
- def request_headers(self, api_key, session_id):
197
+ def request_headers(self, api_key, session_id, language):
191
198
  user_agent = "Files.com Python SDK v{version}".format(
192
199
  version=files_sdk.version
193
200
  )
@@ -201,6 +208,8 @@ class ApiClient:
201
208
  headers["X-FilesAPI-Key"] = api_key
202
209
  if session_id:
203
210
  headers["X-FilesAPI-Auth"] = session_id
211
+ if language:
212
+ headers["Accept-Language"] = language
204
213
 
205
214
  return headers
206
215
 
@@ -129,6 +129,12 @@ def create(params=None, options=None):
129
129
  raise InvalidParameterError(
130
130
  "Bad parameter: query_status must be an str"
131
131
  )
132
+ if "query_success" in params and not isinstance(
133
+ params["query_success"], bool
134
+ ):
135
+ raise InvalidParameterError(
136
+ "Bad parameter: query_success must be an bool"
137
+ )
132
138
  if "query_path" in params and not isinstance(params["query_path"], str):
133
139
  raise InvalidParameterError("Bad parameter: query_path must be an str")
134
140
  if "query_folder" in params and not isinstance(
@@ -212,6 +212,12 @@ def create(params=None, options=None):
212
212
  params = {}
213
213
  if not isinstance(options, dict):
214
214
  options = {}
215
+ if "enable_dedicated_ips" in params and not isinstance(
216
+ params["enable_dedicated_ips"], bool
217
+ ):
218
+ raise InvalidParameterError(
219
+ "Bad parameter: enable_dedicated_ips must be an bool"
220
+ )
215
221
  if "http_auth_username" in params and not isinstance(
216
222
  params["http_auth_username"], str
217
223
  ):
@@ -297,6 +303,12 @@ def update(id, params=None, options=None):
297
303
  params["id"] = id
298
304
  if "id" in params and not isinstance(params["id"], int):
299
305
  raise InvalidParameterError("Bad parameter: id must be an int")
306
+ if "enable_dedicated_ips" in params and not isinstance(
307
+ params["enable_dedicated_ips"], bool
308
+ ):
309
+ raise InvalidParameterError(
310
+ "Bad parameter: enable_dedicated_ips must be an bool"
311
+ )
300
312
  if "http_auth_username" in params and not isinstance(
301
313
  params["http_auth_username"], str
302
314
  ):
@@ -438,10 +438,18 @@ def create(params=None, options=None):
438
438
  raise InvalidParameterError(
439
439
  "Bad parameter: schedule_time_zone must be an str"
440
440
  )
441
+ if "always_overwrite_size_matching_files" in params and not isinstance(
442
+ params["always_overwrite_size_matching_files"], bool
443
+ ):
444
+ raise InvalidParameterError(
445
+ "Bad parameter: always_overwrite_size_matching_files must be an bool"
446
+ )
441
447
  if "description" in params and not isinstance(params["description"], str):
442
448
  raise InvalidParameterError(
443
449
  "Bad parameter: description must be an str"
444
450
  )
451
+ if "disabled" in params and not isinstance(params["disabled"], bool):
452
+ raise InvalidParameterError("Bad parameter: disabled must be an bool")
445
453
  if "exclude_pattern" in params and not isinstance(
446
454
  params["exclude_pattern"], str
447
455
  ):
@@ -454,8 +462,32 @@ def create(params=None, options=None):
454
462
  raise InvalidParameterError(
455
463
  "Bad parameter: import_urls must be an list"
456
464
  )
465
+ if "flatten_destination_structure" in params and not isinstance(
466
+ params["flatten_destination_structure"], bool
467
+ ):
468
+ raise InvalidParameterError(
469
+ "Bad parameter: flatten_destination_structure must be an bool"
470
+ )
471
+ if "ignore_locked_folders" in params and not isinstance(
472
+ params["ignore_locked_folders"], bool
473
+ ):
474
+ raise InvalidParameterError(
475
+ "Bad parameter: ignore_locked_folders must be an bool"
476
+ )
477
+ if "legacy_folder_matching" in params and not isinstance(
478
+ params["legacy_folder_matching"], bool
479
+ ):
480
+ raise InvalidParameterError(
481
+ "Bad parameter: legacy_folder_matching must be an bool"
482
+ )
457
483
  if "name" in params and not isinstance(params["name"], str):
458
484
  raise InvalidParameterError("Bad parameter: name must be an str")
485
+ if "overwrite_files" in params and not isinstance(
486
+ params["overwrite_files"], bool
487
+ ):
488
+ raise InvalidParameterError(
489
+ "Bad parameter: overwrite_files must be an bool"
490
+ )
459
491
  if "path_time_zone" in params and not isinstance(
460
492
  params["path_time_zone"], str
461
493
  ):
@@ -606,10 +638,18 @@ def update(id, params=None, options=None):
606
638
  raise InvalidParameterError(
607
639
  "Bad parameter: schedule_time_zone must be an str"
608
640
  )
641
+ if "always_overwrite_size_matching_files" in params and not isinstance(
642
+ params["always_overwrite_size_matching_files"], bool
643
+ ):
644
+ raise InvalidParameterError(
645
+ "Bad parameter: always_overwrite_size_matching_files must be an bool"
646
+ )
609
647
  if "description" in params and not isinstance(params["description"], str):
610
648
  raise InvalidParameterError(
611
649
  "Bad parameter: description must be an str"
612
650
  )
651
+ if "disabled" in params and not isinstance(params["disabled"], bool):
652
+ raise InvalidParameterError("Bad parameter: disabled must be an bool")
613
653
  if "exclude_pattern" in params and not isinstance(
614
654
  params["exclude_pattern"], str
615
655
  ):
@@ -622,8 +662,32 @@ def update(id, params=None, options=None):
622
662
  raise InvalidParameterError(
623
663
  "Bad parameter: import_urls must be an list"
624
664
  )
665
+ if "flatten_destination_structure" in params and not isinstance(
666
+ params["flatten_destination_structure"], bool
667
+ ):
668
+ raise InvalidParameterError(
669
+ "Bad parameter: flatten_destination_structure must be an bool"
670
+ )
671
+ if "ignore_locked_folders" in params and not isinstance(
672
+ params["ignore_locked_folders"], bool
673
+ ):
674
+ raise InvalidParameterError(
675
+ "Bad parameter: ignore_locked_folders must be an bool"
676
+ )
677
+ if "legacy_folder_matching" in params and not isinstance(
678
+ params["legacy_folder_matching"], bool
679
+ ):
680
+ raise InvalidParameterError(
681
+ "Bad parameter: legacy_folder_matching must be an bool"
682
+ )
625
683
  if "name" in params and not isinstance(params["name"], str):
626
684
  raise InvalidParameterError("Bad parameter: name must be an str")
685
+ if "overwrite_files" in params and not isinstance(
686
+ params["overwrite_files"], bool
687
+ ):
688
+ raise InvalidParameterError(
689
+ "Bad parameter: overwrite_files must be an bool"
690
+ )
627
691
  if "path_time_zone" in params and not isinstance(
628
692
  params["path_time_zone"], str
629
693
  ):
@@ -197,6 +197,12 @@ def list_for(path, params=None, options=None):
197
197
  )
198
198
  if "path" in params and not isinstance(params["path"], str):
199
199
  raise InvalidParameterError("Bad parameter: path must be an str")
200
+ if "ancestor_behaviors" in params and not isinstance(
201
+ params["ancestor_behaviors"], bool
202
+ ):
203
+ raise InvalidParameterError(
204
+ "Bad parameter: ancestor_behaviors must be an bool"
205
+ )
200
206
  if "path" not in params:
201
207
  raise MissingParameterError("Parameter missing: path")
202
208
  return ListObj(
@@ -224,6 +230,14 @@ def create(params=None, options=None):
224
230
  options = {}
225
231
  if "value" in params and not isinstance(params["value"], str):
226
232
  raise InvalidParameterError("Bad parameter: value must be an str")
233
+ if "disable_parent_folder_behavior" in params and not isinstance(
234
+ params["disable_parent_folder_behavior"], bool
235
+ ):
236
+ raise InvalidParameterError(
237
+ "Bad parameter: disable_parent_folder_behavior must be an bool"
238
+ )
239
+ if "recursive" in params and not isinstance(params["recursive"], bool):
240
+ raise InvalidParameterError("Bad parameter: recursive must be an bool")
227
241
  if "name" in params and not isinstance(params["name"], str):
228
242
  raise InvalidParameterError("Bad parameter: name must be an str")
229
243
  if "description" in params and not isinstance(params["description"], str):
@@ -291,6 +305,14 @@ def update(id, params=None, options=None):
291
305
  )
292
306
  if "value" in params and not isinstance(params["value"], str):
293
307
  raise InvalidParameterError("Bad parameter: value must be an str")
308
+ if "disable_parent_folder_behavior" in params and not isinstance(
309
+ params["disable_parent_folder_behavior"], bool
310
+ ):
311
+ raise InvalidParameterError(
312
+ "Bad parameter: disable_parent_folder_behavior must be an bool"
313
+ )
314
+ if "recursive" in params and not isinstance(params["recursive"], bool):
315
+ raise InvalidParameterError("Bad parameter: recursive must be an bool")
294
316
  if "name" in params and not isinstance(params["name"], str):
295
317
  raise InvalidParameterError("Bad parameter: name must be an str")
296
318
  if "description" in params and not isinstance(params["description"], str):
@@ -350,8 +350,26 @@ def create(params=None, options=None):
350
350
  raise InvalidParameterError(
351
351
  "Bad parameter: form_field_set_id must be an int"
352
352
  )
353
+ if "create_snapshot" in params and not isinstance(
354
+ params["create_snapshot"], bool
355
+ ):
356
+ raise InvalidParameterError(
357
+ "Bad parameter: create_snapshot must be an bool"
358
+ )
359
+ if "dont_separate_submissions_by_folder" in params and not isinstance(
360
+ params["dont_separate_submissions_by_folder"], bool
361
+ ):
362
+ raise InvalidParameterError(
363
+ "Bad parameter: dont_separate_submissions_by_folder must be an bool"
364
+ )
353
365
  if "expires_at" in params and not isinstance(params["expires_at"], str):
354
366
  raise InvalidParameterError("Bad parameter: expires_at must be an str")
367
+ if "finalize_snapshot" in params and not isinstance(
368
+ params["finalize_snapshot"], bool
369
+ ):
370
+ raise InvalidParameterError(
371
+ "Bad parameter: finalize_snapshot must be an bool"
372
+ )
355
373
  if "max_uses" in params and not isinstance(params["max_uses"], int):
356
374
  raise InvalidParameterError("Bad parameter: max_uses must be an int")
357
375
  if "description" in params and not isinstance(params["description"], str):
@@ -378,6 +396,12 @@ def create(params=None, options=None):
378
396
  raise InvalidParameterError(
379
397
  "Bad parameter: permissions must be an str"
380
398
  )
399
+ if "require_registration" in params and not isinstance(
400
+ params["require_registration"], bool
401
+ ):
402
+ raise InvalidParameterError(
403
+ "Bad parameter: require_registration must be an bool"
404
+ )
381
405
  if "clickwrap_id" in params and not isinstance(
382
406
  params["clickwrap_id"], int
383
407
  ):
@@ -386,6 +410,30 @@ def create(params=None, options=None):
386
410
  )
387
411
  if "inbox_id" in params and not isinstance(params["inbox_id"], int):
388
412
  raise InvalidParameterError("Bad parameter: inbox_id must be an int")
413
+ if "require_share_recipient" in params and not isinstance(
414
+ params["require_share_recipient"], bool
415
+ ):
416
+ raise InvalidParameterError(
417
+ "Bad parameter: require_share_recipient must be an bool"
418
+ )
419
+ if "send_email_receipt_to_uploader" in params and not isinstance(
420
+ params["send_email_receipt_to_uploader"], bool
421
+ ):
422
+ raise InvalidParameterError(
423
+ "Bad parameter: send_email_receipt_to_uploader must be an bool"
424
+ )
425
+ if "skip_email" in params and not isinstance(params["skip_email"], bool):
426
+ raise InvalidParameterError(
427
+ "Bad parameter: skip_email must be an bool"
428
+ )
429
+ if "skip_name" in params and not isinstance(params["skip_name"], bool):
430
+ raise InvalidParameterError("Bad parameter: skip_name must be an bool")
431
+ if "skip_company" in params and not isinstance(
432
+ params["skip_company"], bool
433
+ ):
434
+ raise InvalidParameterError(
435
+ "Bad parameter: skip_company must be an bool"
436
+ )
389
437
  if "start_access_on_date" in params and not isinstance(
390
438
  params["start_access_on_date"], str
391
439
  ):
@@ -485,12 +533,30 @@ def update(id, params=None, options=None):
485
533
  )
486
534
  if "code" in params and not isinstance(params["code"], str):
487
535
  raise InvalidParameterError("Bad parameter: code must be an str")
536
+ if "create_snapshot" in params and not isinstance(
537
+ params["create_snapshot"], bool
538
+ ):
539
+ raise InvalidParameterError(
540
+ "Bad parameter: create_snapshot must be an bool"
541
+ )
488
542
  if "description" in params and not isinstance(params["description"], str):
489
543
  raise InvalidParameterError(
490
544
  "Bad parameter: description must be an str"
491
545
  )
546
+ if "dont_separate_submissions_by_folder" in params and not isinstance(
547
+ params["dont_separate_submissions_by_folder"], bool
548
+ ):
549
+ raise InvalidParameterError(
550
+ "Bad parameter: dont_separate_submissions_by_folder must be an bool"
551
+ )
492
552
  if "expires_at" in params and not isinstance(params["expires_at"], str):
493
553
  raise InvalidParameterError("Bad parameter: expires_at must be an str")
554
+ if "finalize_snapshot" in params and not isinstance(
555
+ params["finalize_snapshot"], bool
556
+ ):
557
+ raise InvalidParameterError(
558
+ "Bad parameter: finalize_snapshot must be an bool"
559
+ )
494
560
  if "inbox_id" in params and not isinstance(params["inbox_id"], int):
495
561
  raise InvalidParameterError("Bad parameter: inbox_id must be an int")
496
562
  if "max_uses" in params and not isinstance(params["max_uses"], int):
@@ -513,12 +579,48 @@ def update(id, params=None, options=None):
513
579
  raise InvalidParameterError(
514
580
  "Bad parameter: permissions must be an str"
515
581
  )
582
+ if "require_registration" in params and not isinstance(
583
+ params["require_registration"], bool
584
+ ):
585
+ raise InvalidParameterError(
586
+ "Bad parameter: require_registration must be an bool"
587
+ )
588
+ if "require_share_recipient" in params and not isinstance(
589
+ params["require_share_recipient"], bool
590
+ ):
591
+ raise InvalidParameterError(
592
+ "Bad parameter: require_share_recipient must be an bool"
593
+ )
594
+ if "send_email_receipt_to_uploader" in params and not isinstance(
595
+ params["send_email_receipt_to_uploader"], bool
596
+ ):
597
+ raise InvalidParameterError(
598
+ "Bad parameter: send_email_receipt_to_uploader must be an bool"
599
+ )
600
+ if "skip_company" in params and not isinstance(
601
+ params["skip_company"], bool
602
+ ):
603
+ raise InvalidParameterError(
604
+ "Bad parameter: skip_company must be an bool"
605
+ )
516
606
  if "start_access_on_date" in params and not isinstance(
517
607
  params["start_access_on_date"], str
518
608
  ):
519
609
  raise InvalidParameterError(
520
610
  "Bad parameter: start_access_on_date must be an str"
521
611
  )
612
+ if "skip_email" in params and not isinstance(params["skip_email"], bool):
613
+ raise InvalidParameterError(
614
+ "Bad parameter: skip_email must be an bool"
615
+ )
616
+ if "skip_name" in params and not isinstance(params["skip_name"], bool):
617
+ raise InvalidParameterError("Bad parameter: skip_name must be an bool")
618
+ if "watermark_attachment_delete" in params and not isinstance(
619
+ params["watermark_attachment_delete"], bool
620
+ ):
621
+ raise InvalidParameterError(
622
+ "Bad parameter: watermark_attachment_delete must be an bool"
623
+ )
522
624
  if "id" not in params:
523
625
  raise MissingParameterError("Parameter missing: id")
524
626
  response, options = Api.send_request(
@@ -161,6 +161,18 @@ def create(params=None, options=None):
161
161
  raise InvalidParameterError("Bad parameter: bundle_id must be an int")
162
162
  if "user_id" in params and not isinstance(params["user_id"], int):
163
163
  raise InvalidParameterError("Bad parameter: user_id must be an int")
164
+ if "notify_on_registration" in params and not isinstance(
165
+ params["notify_on_registration"], bool
166
+ ):
167
+ raise InvalidParameterError(
168
+ "Bad parameter: notify_on_registration must be an bool"
169
+ )
170
+ if "notify_on_upload" in params and not isinstance(
171
+ params["notify_on_upload"], bool
172
+ ):
173
+ raise InvalidParameterError(
174
+ "Bad parameter: notify_on_upload must be an bool"
175
+ )
164
176
  if "bundle_id" not in params:
165
177
  raise MissingParameterError("Parameter missing: bundle_id")
166
178
  response, options = Api.send_request(
@@ -180,6 +192,18 @@ def update(id, params=None, options=None):
180
192
  params["id"] = id
181
193
  if "id" in params and not isinstance(params["id"], int):
182
194
  raise InvalidParameterError("Bad parameter: id must be an int")
195
+ if "notify_on_registration" in params and not isinstance(
196
+ params["notify_on_registration"], bool
197
+ ):
198
+ raise InvalidParameterError(
199
+ "Bad parameter: notify_on_registration must be an bool"
200
+ )
201
+ if "notify_on_upload" in params and not isinstance(
202
+ params["notify_on_upload"], bool
203
+ ):
204
+ raise InvalidParameterError(
205
+ "Bad parameter: notify_on_upload must be an bool"
206
+ )
183
207
  if "id" not in params:
184
208
  raise MissingParameterError("Parameter missing: id")
185
209
  response, options = Api.send_request(
@@ -106,6 +106,12 @@ def create(params=None, options=None):
106
106
  raise InvalidParameterError("Bad parameter: company must be an str")
107
107
  if "note" in params and not isinstance(params["note"], str):
108
108
  raise InvalidParameterError("Bad parameter: note must be an str")
109
+ if "share_after_create" in params and not isinstance(
110
+ params["share_after_create"], bool
111
+ ):
112
+ raise InvalidParameterError(
113
+ "Bad parameter: share_after_create must be an bool"
114
+ )
109
115
  if "bundle_id" not in params:
110
116
  raise MissingParameterError("Parameter missing: bundle_id")
111
117
  if "recipient" not in params: