Files.com 1.6.467__tar.gz → 1.6.468__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.
Files changed (316) hide show
  1. {files_com-1.6.467/files_com.egg-info → files_com-1.6.468}/PKG-INFO +1 -1
  2. files_com-1.6.468/_VERSION +1 -0
  3. {files_com-1.6.467 → files_com-1.6.468/files_com.egg-info}/PKG-INFO +1 -1
  4. {files_com-1.6.467 → files_com-1.6.468}/files_com.egg-info/SOURCES.txt +1 -0
  5. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/__init__.py +1 -1
  6. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/api_client.py +20 -9
  7. {files_com-1.6.467 → files_com-1.6.468}/pyproject.toml +1 -1
  8. files_com-1.6.468/tests/test_stream_download.py +73 -0
  9. files_com-1.6.467/_VERSION +0 -1
  10. {files_com-1.6.467 → files_com-1.6.468}/LICENSE +0 -0
  11. {files_com-1.6.467 → files_com-1.6.468}/README.md +0 -0
  12. {files_com-1.6.467 → files_com-1.6.468}/files_com.egg-info/dependency_links.txt +0 -0
  13. {files_com-1.6.467 → files_com-1.6.468}/files_com.egg-info/requires.txt +0 -0
  14. {files_com-1.6.467 → files_com-1.6.468}/files_com.egg-info/top_level.txt +0 -0
  15. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/api.py +0 -0
  16. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/error.py +0 -0
  17. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/list_obj.py +0 -0
  18. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/__init__.py +0 -0
  19. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/account_line_item.py +0 -0
  20. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/action.py +0 -0
  21. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/action_log.py +0 -0
  22. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/action_notification_export.py +0 -0
  23. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/action_notification_export_result.py +0 -0
  24. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/agent_node.py +0 -0
  25. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/agent_node_connection.py +0 -0
  26. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/agent_node_instance.py +0 -0
  27. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/agent_push_update.py +0 -0
  28. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/ai_assistant_personality.py +0 -0
  29. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/ai_task.py +0 -0
  30. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/api_key.py +0 -0
  31. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/api_request_log.py +0 -0
  32. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/app.py +0 -0
  33. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/as2_incoming_message.py +0 -0
  34. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/as2_outgoing_message.py +0 -0
  35. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/as2_partner.py +0 -0
  36. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/as2_station.py +0 -0
  37. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/auto.py +0 -0
  38. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/automation.py +0 -0
  39. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/automation_authoring_schema.py +0 -0
  40. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/automation_execution_node.py +0 -0
  41. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/automation_log.py +0 -0
  42. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/automation_run.py +0 -0
  43. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/bandwidth_snapshot.py +0 -0
  44. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/behavior.py +0 -0
  45. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/bundle.py +0 -0
  46. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/bundle_action.py +0 -0
  47. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/bundle_download.py +0 -0
  48. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/bundle_notification.py +0 -0
  49. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/bundle_path.py +0 -0
  50. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/bundle_recipient.py +0 -0
  51. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/bundle_registration.py +0 -0
  52. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/chat_message.py +0 -0
  53. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/chat_session.py +0 -0
  54. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/child_site_management_policy.py +0 -0
  55. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/clickwrap.py +0 -0
  56. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/custom_domain.py +0 -0
  57. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/desktop_configuration_profile.py +0 -0
  58. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/direct_connection_info.py +0 -0
  59. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/dns_record.py +0 -0
  60. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/email_incoming_message.py +0 -0
  61. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/email_log.py +0 -0
  62. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/errors.py +0 -0
  63. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/event_channel.py +0 -0
  64. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/event_delivery_attempt.py +0 -0
  65. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/event_record.py +0 -0
  66. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/event_subscription.py +0 -0
  67. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/event_target.py +0 -0
  68. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/exavault_api_request_log.py +0 -0
  69. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/expectation.py +0 -0
  70. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/expectation_evaluation.py +0 -0
  71. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/expectation_incident.py +0 -0
  72. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/external_event.py +0 -0
  73. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/file.py +0 -0
  74. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/file_action.py +0 -0
  75. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/file_comment.py +0 -0
  76. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/file_comment_reaction.py +0 -0
  77. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/file_migration.py +0 -0
  78. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/file_migration_log.py +0 -0
  79. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/file_upload_part.py +0 -0
  80. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/folder.py +0 -0
  81. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/form_field.py +0 -0
  82. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/form_field_set.py +0 -0
  83. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/ftp_action_log.py +0 -0
  84. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/gpg_key.py +0 -0
  85. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/group.py +0 -0
  86. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/group_user.py +0 -0
  87. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/history.py +0 -0
  88. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/history_export.py +0 -0
  89. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/history_export_result.py +0 -0
  90. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/holiday_calendar.py +0 -0
  91. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/holiday_region.py +0 -0
  92. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/image.py +0 -0
  93. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/inbound_s3_log.py +0 -0
  94. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/inbox_recipient.py +0 -0
  95. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/inbox_registration.py +0 -0
  96. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/inbox_upload.py +0 -0
  97. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/integration_centric_profile.py +0 -0
  98. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/invoice.py +0 -0
  99. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/invoice_line_item.py +0 -0
  100. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/ip_address.py +0 -0
  101. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/key_lifecycle_rule.py +0 -0
  102. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/lock.py +0 -0
  103. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/metadata_category.py +0 -0
  104. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/notification.py +0 -0
  105. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/outbound_connection_log.py +0 -0
  106. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/partner.py +0 -0
  107. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/partner_channel.py +0 -0
  108. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/partner_channel_template.py +0 -0
  109. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/partner_site.py +0 -0
  110. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/partner_site_request.py +0 -0
  111. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/payment.py +0 -0
  112. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/payment_line_item.py +0 -0
  113. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/pending_work_event.py +0 -0
  114. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/permission.py +0 -0
  115. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/preview.py +0 -0
  116. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/public_hosting_request_log.py +0 -0
  117. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/public_ip_address.py +0 -0
  118. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/public_key.py +0 -0
  119. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
  120. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/remote_mount_backend.py +0 -0
  121. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/remote_server.py +0 -0
  122. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/remote_server_configuration_file.py +0 -0
  123. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/remote_server_credential.py +0 -0
  124. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/request.py +0 -0
  125. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/restore.py +0 -0
  126. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/schedule.py +0 -0
  127. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/scheduled_export.py +0 -0
  128. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/scim_log.py +0 -0
  129. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/secret.py +0 -0
  130. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/session.py +0 -0
  131. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/settings_change.py +0 -0
  132. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/sftp_action_log.py +0 -0
  133. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/sftp_host_key.py +0 -0
  134. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/share_group.py +0 -0
  135. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/share_group_member.py +0 -0
  136. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/siem_http_destination.py +0 -0
  137. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/siem_http_destination_event.py +0 -0
  138. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/site.py +0 -0
  139. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/site_subdomain_redirect.py +0 -0
  140. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/snapshot.py +0 -0
  141. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/sso_event.py +0 -0
  142. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/sso_strategy.py +0 -0
  143. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/status.py +0 -0
  144. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/style.py +0 -0
  145. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/sync.py +0 -0
  146. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/sync_log.py +0 -0
  147. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/sync_run.py +0 -0
  148. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/sync_run_live_transfer.py +0 -0
  149. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/usage_by_top_level_dir.py +0 -0
  150. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/usage_daily_snapshot.py +0 -0
  151. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/usage_snapshot.py +0 -0
  152. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/user.py +0 -0
  153. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/user_additional_email_recipient.py +0 -0
  154. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/user_cipher_use.py +0 -0
  155. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/user_lifecycle_rule.py +0 -0
  156. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/user_request.py +0 -0
  157. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/user_security_event.py +0 -0
  158. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/user_sftp_client_use.py +0 -0
  159. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/web_dav_action_log.py +0 -0
  160. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/webhook_test.py +0 -0
  161. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/workspace.py +0 -0
  162. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/models/zip_list_entry.py +0 -0
  163. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/path_util.py +0 -0
  164. {files_com-1.6.467 → files_com-1.6.468}/files_sdk/util.py +0 -0
  165. {files_com-1.6.467 → files_com-1.6.468}/setup.cfg +0 -0
  166. {files_com-1.6.467 → files_com-1.6.468}/tests/test_account_line_item.py +0 -0
  167. {files_com-1.6.467 → files_com-1.6.468}/tests/test_action.py +0 -0
  168. {files_com-1.6.467 → files_com-1.6.468}/tests/test_action_log.py +0 -0
  169. {files_com-1.6.467 → files_com-1.6.468}/tests/test_action_notification_export.py +0 -0
  170. {files_com-1.6.467 → files_com-1.6.468}/tests/test_action_notification_export_result.py +0 -0
  171. {files_com-1.6.467 → files_com-1.6.468}/tests/test_agent_node.py +0 -0
  172. {files_com-1.6.467 → files_com-1.6.468}/tests/test_agent_node_connection.py +0 -0
  173. {files_com-1.6.467 → files_com-1.6.468}/tests/test_agent_node_instance.py +0 -0
  174. {files_com-1.6.467 → files_com-1.6.468}/tests/test_agent_push_update.py +0 -0
  175. {files_com-1.6.467 → files_com-1.6.468}/tests/test_ai_assistant_personality.py +0 -0
  176. {files_com-1.6.467 → files_com-1.6.468}/tests/test_ai_task.py +0 -0
  177. {files_com-1.6.467 → files_com-1.6.468}/tests/test_api_errors.py +0 -0
  178. {files_com-1.6.467 → files_com-1.6.468}/tests/test_api_key.py +0 -0
  179. {files_com-1.6.467 → files_com-1.6.468}/tests/test_api_request_log.py +0 -0
  180. {files_com-1.6.467 → files_com-1.6.468}/tests/test_app.py +0 -0
  181. {files_com-1.6.467 → files_com-1.6.468}/tests/test_as2_incoming_message.py +0 -0
  182. {files_com-1.6.467 → files_com-1.6.468}/tests/test_as2_outgoing_message.py +0 -0
  183. {files_com-1.6.467 → files_com-1.6.468}/tests/test_as2_partner.py +0 -0
  184. {files_com-1.6.467 → files_com-1.6.468}/tests/test_as2_station.py +0 -0
  185. {files_com-1.6.467 → files_com-1.6.468}/tests/test_auto.py +0 -0
  186. {files_com-1.6.467 → files_com-1.6.468}/tests/test_automation.py +0 -0
  187. {files_com-1.6.467 → files_com-1.6.468}/tests/test_automation_authoring_schema.py +0 -0
  188. {files_com-1.6.467 → files_com-1.6.468}/tests/test_automation_execution_node.py +0 -0
  189. {files_com-1.6.467 → files_com-1.6.468}/tests/test_automation_log.py +0 -0
  190. {files_com-1.6.467 → files_com-1.6.468}/tests/test_automation_run.py +0 -0
  191. {files_com-1.6.467 → files_com-1.6.468}/tests/test_bandwidth_snapshot.py +0 -0
  192. {files_com-1.6.467 → files_com-1.6.468}/tests/test_behavior.py +0 -0
  193. {files_com-1.6.467 → files_com-1.6.468}/tests/test_bundle.py +0 -0
  194. {files_com-1.6.467 → files_com-1.6.468}/tests/test_bundle_action.py +0 -0
  195. {files_com-1.6.467 → files_com-1.6.468}/tests/test_bundle_download.py +0 -0
  196. {files_com-1.6.467 → files_com-1.6.468}/tests/test_bundle_notification.py +0 -0
  197. {files_com-1.6.467 → files_com-1.6.468}/tests/test_bundle_path.py +0 -0
  198. {files_com-1.6.467 → files_com-1.6.468}/tests/test_bundle_recipient.py +0 -0
  199. {files_com-1.6.467 → files_com-1.6.468}/tests/test_bundle_registration.py +0 -0
  200. {files_com-1.6.467 → files_com-1.6.468}/tests/test_chat_message.py +0 -0
  201. {files_com-1.6.467 → files_com-1.6.468}/tests/test_chat_session.py +0 -0
  202. {files_com-1.6.467 → files_com-1.6.468}/tests/test_child_site_management_policy.py +0 -0
  203. {files_com-1.6.467 → files_com-1.6.468}/tests/test_clickwrap.py +0 -0
  204. {files_com-1.6.467 → files_com-1.6.468}/tests/test_connection_adapter.py +0 -0
  205. {files_com-1.6.467 → files_com-1.6.468}/tests/test_custom_domain.py +0 -0
  206. {files_com-1.6.467 → files_com-1.6.468}/tests/test_decimal_contract.py +0 -0
  207. {files_com-1.6.467 → files_com-1.6.468}/tests/test_desktop_configuration_profile.py +0 -0
  208. {files_com-1.6.467 → files_com-1.6.468}/tests/test_direct_connection_info.py +0 -0
  209. {files_com-1.6.467 → files_com-1.6.468}/tests/test_dns_record.py +0 -0
  210. {files_com-1.6.467 → files_com-1.6.468}/tests/test_email_incoming_message.py +0 -0
  211. {files_com-1.6.467 → files_com-1.6.468}/tests/test_email_log.py +0 -0
  212. {files_com-1.6.467 → files_com-1.6.468}/tests/test_errors.py +0 -0
  213. {files_com-1.6.467 → files_com-1.6.468}/tests/test_event_channel.py +0 -0
  214. {files_com-1.6.467 → files_com-1.6.468}/tests/test_event_delivery_attempt.py +0 -0
  215. {files_com-1.6.467 → files_com-1.6.468}/tests/test_event_record.py +0 -0
  216. {files_com-1.6.467 → files_com-1.6.468}/tests/test_event_subscription.py +0 -0
  217. {files_com-1.6.467 → files_com-1.6.468}/tests/test_event_target.py +0 -0
  218. {files_com-1.6.467 → files_com-1.6.468}/tests/test_exavault_api_request_log.py +0 -0
  219. {files_com-1.6.467 → files_com-1.6.468}/tests/test_expectation.py +0 -0
  220. {files_com-1.6.467 → files_com-1.6.468}/tests/test_expectation_evaluation.py +0 -0
  221. {files_com-1.6.467 → files_com-1.6.468}/tests/test_expectation_incident.py +0 -0
  222. {files_com-1.6.467 → files_com-1.6.468}/tests/test_external_event.py +0 -0
  223. {files_com-1.6.467 → files_com-1.6.468}/tests/test_file.py +0 -0
  224. {files_com-1.6.467 → files_com-1.6.468}/tests/test_file_action.py +0 -0
  225. {files_com-1.6.467 → files_com-1.6.468}/tests/test_file_comment.py +0 -0
  226. {files_com-1.6.467 → files_com-1.6.468}/tests/test_file_comment_reaction.py +0 -0
  227. {files_com-1.6.467 → files_com-1.6.468}/tests/test_file_migration.py +0 -0
  228. {files_com-1.6.467 → files_com-1.6.468}/tests/test_file_migration_log.py +0 -0
  229. {files_com-1.6.467 → files_com-1.6.468}/tests/test_file_underscore_destinations.py +0 -0
  230. {files_com-1.6.467 → files_com-1.6.468}/tests/test_file_upload_part.py +0 -0
  231. {files_com-1.6.467 → files_com-1.6.468}/tests/test_folder.py +0 -0
  232. {files_com-1.6.467 → files_com-1.6.468}/tests/test_form_field.py +0 -0
  233. {files_com-1.6.467 → files_com-1.6.468}/tests/test_form_field_set.py +0 -0
  234. {files_com-1.6.467 → files_com-1.6.468}/tests/test_ftp_action_log.py +0 -0
  235. {files_com-1.6.467 → files_com-1.6.468}/tests/test_gpg_key.py +0 -0
  236. {files_com-1.6.467 → files_com-1.6.468}/tests/test_group.py +0 -0
  237. {files_com-1.6.467 → files_com-1.6.468}/tests/test_group_user.py +0 -0
  238. {files_com-1.6.467 → files_com-1.6.468}/tests/test_history.py +0 -0
  239. {files_com-1.6.467 → files_com-1.6.468}/tests/test_history_export.py +0 -0
  240. {files_com-1.6.467 → files_com-1.6.468}/tests/test_history_export_result.py +0 -0
  241. {files_com-1.6.467 → files_com-1.6.468}/tests/test_holiday_calendar.py +0 -0
  242. {files_com-1.6.467 → files_com-1.6.468}/tests/test_holiday_region.py +0 -0
  243. {files_com-1.6.467 → files_com-1.6.468}/tests/test_image.py +0 -0
  244. {files_com-1.6.467 → files_com-1.6.468}/tests/test_inbound_s3_log.py +0 -0
  245. {files_com-1.6.467 → files_com-1.6.468}/tests/test_inbox_recipient.py +0 -0
  246. {files_com-1.6.467 → files_com-1.6.468}/tests/test_inbox_registration.py +0 -0
  247. {files_com-1.6.467 → files_com-1.6.468}/tests/test_inbox_upload.py +0 -0
  248. {files_com-1.6.467 → files_com-1.6.468}/tests/test_integration_centric_profile.py +0 -0
  249. {files_com-1.6.467 → files_com-1.6.468}/tests/test_invoice.py +0 -0
  250. {files_com-1.6.467 → files_com-1.6.468}/tests/test_invoice_line_item.py +0 -0
  251. {files_com-1.6.467 → files_com-1.6.468}/tests/test_ip_address.py +0 -0
  252. {files_com-1.6.467 → files_com-1.6.468}/tests/test_key_lifecycle_rule.py +0 -0
  253. {files_com-1.6.467 → files_com-1.6.468}/tests/test_lock.py +0 -0
  254. {files_com-1.6.467 → files_com-1.6.468}/tests/test_metadata_category.py +0 -0
  255. {files_com-1.6.467 → files_com-1.6.468}/tests/test_notification.py +0 -0
  256. {files_com-1.6.467 → files_com-1.6.468}/tests/test_outbound_connection_log.py +0 -0
  257. {files_com-1.6.467 → files_com-1.6.468}/tests/test_partner.py +0 -0
  258. {files_com-1.6.467 → files_com-1.6.468}/tests/test_partner_channel.py +0 -0
  259. {files_com-1.6.467 → files_com-1.6.468}/tests/test_partner_channel_template.py +0 -0
  260. {files_com-1.6.467 → files_com-1.6.468}/tests/test_partner_site.py +0 -0
  261. {files_com-1.6.467 → files_com-1.6.468}/tests/test_partner_site_request.py +0 -0
  262. {files_com-1.6.467 → files_com-1.6.468}/tests/test_path_parameter_encoding.py +0 -0
  263. {files_com-1.6.467 → files_com-1.6.468}/tests/test_path_util.py +0 -0
  264. {files_com-1.6.467 → files_com-1.6.468}/tests/test_payment.py +0 -0
  265. {files_com-1.6.467 → files_com-1.6.468}/tests/test_payment_line_item.py +0 -0
  266. {files_com-1.6.467 → files_com-1.6.468}/tests/test_pending_work_event.py +0 -0
  267. {files_com-1.6.467 → files_com-1.6.468}/tests/test_permission.py +0 -0
  268. {files_com-1.6.467 → files_com-1.6.468}/tests/test_preview.py +0 -0
  269. {files_com-1.6.467 → files_com-1.6.468}/tests/test_public_hosting_request_log.py +0 -0
  270. {files_com-1.6.467 → files_com-1.6.468}/tests/test_public_ip_address.py +0 -0
  271. {files_com-1.6.467 → files_com-1.6.468}/tests/test_public_key.py +0 -0
  272. {files_com-1.6.467 → files_com-1.6.468}/tests/test_remote_bandwidth_snapshot.py +0 -0
  273. {files_com-1.6.467 → files_com-1.6.468}/tests/test_remote_mount_backend.py +0 -0
  274. {files_com-1.6.467 → files_com-1.6.468}/tests/test_remote_server.py +0 -0
  275. {files_com-1.6.467 → files_com-1.6.468}/tests/test_remote_server_configuration_file.py +0 -0
  276. {files_com-1.6.467 → files_com-1.6.468}/tests/test_remote_server_credential.py +0 -0
  277. {files_com-1.6.467 → files_com-1.6.468}/tests/test_request.py +0 -0
  278. {files_com-1.6.467 → files_com-1.6.468}/tests/test_restore.py +0 -0
  279. {files_com-1.6.467 → files_com-1.6.468}/tests/test_schedule.py +0 -0
  280. {files_com-1.6.467 → files_com-1.6.468}/tests/test_scheduled_export.py +0 -0
  281. {files_com-1.6.467 → files_com-1.6.468}/tests/test_scim_log.py +0 -0
  282. {files_com-1.6.467 → files_com-1.6.468}/tests/test_secret.py +0 -0
  283. {files_com-1.6.467 → files_com-1.6.468}/tests/test_session.py +0 -0
  284. {files_com-1.6.467 → files_com-1.6.468}/tests/test_settings_change.py +0 -0
  285. {files_com-1.6.467 → files_com-1.6.468}/tests/test_sftp_action_log.py +0 -0
  286. {files_com-1.6.467 → files_com-1.6.468}/tests/test_sftp_host_key.py +0 -0
  287. {files_com-1.6.467 → files_com-1.6.468}/tests/test_share_group.py +0 -0
  288. {files_com-1.6.467 → files_com-1.6.468}/tests/test_share_group_member.py +0 -0
  289. {files_com-1.6.467 → files_com-1.6.468}/tests/test_siem_http_destination.py +0 -0
  290. {files_com-1.6.467 → files_com-1.6.468}/tests/test_siem_http_destination_event.py +0 -0
  291. {files_com-1.6.467 → files_com-1.6.468}/tests/test_site.py +0 -0
  292. {files_com-1.6.467 → files_com-1.6.468}/tests/test_site_subdomain_redirect.py +0 -0
  293. {files_com-1.6.467 → files_com-1.6.468}/tests/test_snapshot.py +0 -0
  294. {files_com-1.6.467 → files_com-1.6.468}/tests/test_sso_event.py +0 -0
  295. {files_com-1.6.467 → files_com-1.6.468}/tests/test_sso_strategy.py +0 -0
  296. {files_com-1.6.467 → files_com-1.6.468}/tests/test_status.py +0 -0
  297. {files_com-1.6.467 → files_com-1.6.468}/tests/test_style.py +0 -0
  298. {files_com-1.6.467 → files_com-1.6.468}/tests/test_sync.py +0 -0
  299. {files_com-1.6.467 → files_com-1.6.468}/tests/test_sync_log.py +0 -0
  300. {files_com-1.6.467 → files_com-1.6.468}/tests/test_sync_run.py +0 -0
  301. {files_com-1.6.467 → files_com-1.6.468}/tests/test_sync_run_live_transfer.py +0 -0
  302. {files_com-1.6.467 → files_com-1.6.468}/tests/test_usage_by_top_level_dir.py +0 -0
  303. {files_com-1.6.467 → files_com-1.6.468}/tests/test_usage_daily_snapshot.py +0 -0
  304. {files_com-1.6.467 → files_com-1.6.468}/tests/test_usage_snapshot.py +0 -0
  305. {files_com-1.6.467 → files_com-1.6.468}/tests/test_user.py +0 -0
  306. {files_com-1.6.467 → files_com-1.6.468}/tests/test_user_additional_email_recipient.py +0 -0
  307. {files_com-1.6.467 → files_com-1.6.468}/tests/test_user_cipher_use.py +0 -0
  308. {files_com-1.6.467 → files_com-1.6.468}/tests/test_user_lifecycle_rule.py +0 -0
  309. {files_com-1.6.467 → files_com-1.6.468}/tests/test_user_request.py +0 -0
  310. {files_com-1.6.467 → files_com-1.6.468}/tests/test_user_security_event.py +0 -0
  311. {files_com-1.6.467 → files_com-1.6.468}/tests/test_user_sftp_client_use.py +0 -0
  312. {files_com-1.6.467 → files_com-1.6.468}/tests/test_web_dav_action_log.py +0 -0
  313. {files_com-1.6.467 → files_com-1.6.468}/tests/test_webhook_test.py +0 -0
  314. {files_com-1.6.467 → files_com-1.6.468}/tests/test_workspace.py +0 -0
  315. {files_com-1.6.467 → files_com-1.6.468}/tests/test_workspace_id.py +0 -0
  316. {files_com-1.6.467 → files_com-1.6.468}/tests/test_zip_list_entry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.467
3
+ Version: 1.6.468
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -0,0 +1 @@
1
+ 1.6.468
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.467
3
+ Version: 1.6.468
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -291,6 +291,7 @@ tests/test_snapshot.py
291
291
  tests/test_sso_event.py
292
292
  tests/test_sso_strategy.py
293
293
  tests/test_status.py
294
+ tests/test_stream_download.py
294
295
  tests/test_style.py
295
296
  tests/test_sync.py
296
297
  tests/test_sync_log.py
@@ -318,7 +318,7 @@ source_ip = None
318
318
  workspace_id = None
319
319
  base_url = "https://app.files.com"
320
320
  base_path = "api/rest/v1"
321
- version = "1.6.467"
321
+ version = "1.6.468"
322
322
 
323
323
  __version__ = version
324
324
 
@@ -142,15 +142,26 @@ class ApiClient:
142
142
 
143
143
  def stream_download(self, uri, io, is_string_io=False):
144
144
  # NOTE the stream=True parameter below
145
- with requests.get(uri, stream=True) as r:
146
- r.raise_for_status() # TODO check this later
147
- for chunk in r.iter_content(
148
- chunk_size=8192, decode_unicode=is_string_io
149
- ):
150
- # If you have chunk encoded response uncomment if
151
- # and set chunk_size parameter to None.
152
- # if chunk:
153
- io.write(chunk)
145
+ try:
146
+ with requests.get(
147
+ uri,
148
+ stream=True,
149
+ timeout=(files_sdk.open_timeout, files_sdk.read_timeout),
150
+ ) as r:
151
+ r.raise_for_status() # TODO check this later
152
+ for chunk in r.iter_content(
153
+ chunk_size=8192, decode_unicode=is_string_io
154
+ ):
155
+ # If you have chunk encoded response uncomment if
156
+ # and set chunk_size parameter to None.
157
+ # if chunk:
158
+ io.write(chunk)
159
+ except (
160
+ requests.exceptions.Timeout,
161
+ requests.exceptions.ConnectionError,
162
+ requests.exceptions.ChunkedEncodingError,
163
+ ) as e:
164
+ raise self.handle_network_error(e, e.request, 0) from None
154
165
 
155
166
  def execute_request_with_auto_retry(
156
167
  self, request, skip_body_logging=False
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "files_com"
7
- version = "1.6.467"
7
+ version = "1.6.468"
8
8
  description = "Python bindings for the Files.com API"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -0,0 +1,73 @@
1
+ import io
2
+ import threading
3
+ import unittest
4
+ from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
5
+ from unittest.mock import patch
6
+
7
+ import files_sdk
8
+ from files_sdk.api_client import ApiClient
9
+
10
+
11
+ class DownloadHandler(BaseHTTPRequestHandler):
12
+ def do_GET(self):
13
+ chunk = b"\x00\xff" * 4096
14
+ try:
15
+ if self.path == "/stall-headers":
16
+ self.server.release_response.wait(5)
17
+ self.send_response(200)
18
+ if self.path == "/incomplete-body":
19
+ self.send_header("Transfer-Encoding", "chunked")
20
+ else:
21
+ self.send_header("Content-Length", str(len(chunk) * 3))
22
+ self.end_headers()
23
+ if self.path == "/incomplete-body":
24
+ self.wfile.write(b"%x\r\n" % len(chunk) + chunk + b"\r\n")
25
+ self.wfile.flush()
26
+ return # Close without the final chunk.
27
+ if self.path == "/stall-body":
28
+ self.server.release_response.wait(5)
29
+ for _ in range(3):
30
+ self.wfile.write(chunk)
31
+ self.wfile.flush()
32
+ except (BrokenPipeError, ConnectionResetError):
33
+ pass
34
+
35
+ def log_message(self, *args):
36
+ pass
37
+
38
+
39
+ class TestStreamDownload(unittest.TestCase):
40
+ def setUp(self):
41
+ self.server = ThreadingHTTPServer(("127.0.0.1", 0), DownloadHandler)
42
+ self.server.release_response = threading.Event()
43
+ self.thread = threading.Thread(target=self.server.serve_forever)
44
+ self.thread.start()
45
+ self.url = "http://127.0.0.1:{}".format(self.server.server_port)
46
+
47
+ def tearDown(self):
48
+ self.server.release_response.set()
49
+ self.server.shutdown()
50
+ self.server.server_close()
51
+ self.thread.join()
52
+
53
+ @patch.object(files_sdk, "read_timeout", 0.2)
54
+ def test_stalled_download_raises_a_network_error(self):
55
+ for path in ("/stall-headers", "/stall-body"):
56
+ with self.subTest(path=path):
57
+ with self.assertRaises(files_sdk.error.APIConnectionError):
58
+ ApiClient().stream_download(self.url + path, io.BytesIO())
59
+
60
+ def test_download_preserves_binary_content(self):
61
+ output = io.BytesIO()
62
+ ApiClient().stream_download(self.url + "/stream", output)
63
+ self.assertEqual(output.getvalue(), b"\x00\xff" * 4096 * 3)
64
+
65
+ def test_interrupted_download_raises_a_network_error(self):
66
+ output = io.BytesIO()
67
+ with self.assertRaises(files_sdk.error.APIConnectionError):
68
+ ApiClient().stream_download(self.url + "/incomplete-body", output)
69
+ self.assertEqual(output.getvalue(), b"\x00\xff" * 4096)
70
+
71
+
72
+ if __name__ == "__main__":
73
+ unittest.main()
@@ -1 +0,0 @@
1
- 1.6.467
File without changes
File without changes
File without changes