Files.com 1.6.416__tar.gz → 1.6.417__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 (301) hide show
  1. {files_com-1.6.416/files_com.egg-info → files_com-1.6.417}/PKG-INFO +1 -1
  2. files_com-1.6.417/_VERSION +1 -0
  3. {files_com-1.6.416 → files_com-1.6.417/files_com.egg-info}/PKG-INFO +1 -1
  4. {files_com-1.6.416 → files_com-1.6.417}/files_com.egg-info/SOURCES.txt +1 -0
  5. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/__init__.py +37 -1
  6. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/file.py +174 -0
  7. {files_com-1.6.416 → files_com-1.6.417}/pyproject.toml +1 -1
  8. files_com-1.6.417/tests/test_file_underscore_destinations.py +32 -0
  9. {files_com-1.6.416 → files_com-1.6.417}/tests/test_path_util.py +5 -1
  10. files_com-1.6.416/_VERSION +0 -1
  11. {files_com-1.6.416 → files_com-1.6.417}/LICENSE +0 -0
  12. {files_com-1.6.416 → files_com-1.6.417}/README.md +0 -0
  13. {files_com-1.6.416 → files_com-1.6.417}/files_com.egg-info/dependency_links.txt +0 -0
  14. {files_com-1.6.416 → files_com-1.6.417}/files_com.egg-info/requires.txt +0 -0
  15. {files_com-1.6.416 → files_com-1.6.417}/files_com.egg-info/top_level.txt +0 -0
  16. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/api.py +0 -0
  17. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/api_client.py +0 -0
  18. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/error.py +0 -0
  19. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/list_obj.py +0 -0
  20. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/__init__.py +0 -0
  21. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/account_line_item.py +0 -0
  22. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/action.py +0 -0
  23. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/action_log.py +0 -0
  24. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/action_notification_export.py +0 -0
  25. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/action_notification_export_result.py +0 -0
  26. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/agent_push_update.py +0 -0
  27. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/ai_assistant_personality.py +0 -0
  28. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/ai_task.py +0 -0
  29. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/api_key.py +0 -0
  30. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/api_request_log.py +0 -0
  31. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/app.py +0 -0
  32. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/as2_incoming_message.py +0 -0
  33. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/as2_outgoing_message.py +0 -0
  34. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/as2_partner.py +0 -0
  35. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/as2_station.py +0 -0
  36. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/auto.py +0 -0
  37. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/automation.py +0 -0
  38. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/automation_log.py +0 -0
  39. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/automation_run.py +0 -0
  40. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/bandwidth_snapshot.py +0 -0
  41. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/behavior.py +0 -0
  42. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/bundle.py +0 -0
  43. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/bundle_action.py +0 -0
  44. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/bundle_download.py +0 -0
  45. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/bundle_notification.py +0 -0
  46. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/bundle_path.py +0 -0
  47. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/bundle_recipient.py +0 -0
  48. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/bundle_registration.py +0 -0
  49. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/chat_message.py +0 -0
  50. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/chat_session.py +0 -0
  51. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/child_site_management_policy.py +0 -0
  52. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/clickwrap.py +0 -0
  53. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/custom_domain.py +0 -0
  54. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/desktop_configuration_profile.py +0 -0
  55. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/dns_record.py +0 -0
  56. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/email_incoming_message.py +0 -0
  57. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/email_log.py +0 -0
  58. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/errors.py +0 -0
  59. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/event_channel.py +0 -0
  60. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/event_delivery_attempt.py +0 -0
  61. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/event_record.py +0 -0
  62. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/event_subscription.py +0 -0
  63. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/event_target.py +0 -0
  64. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/exavault_api_request_log.py +0 -0
  65. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/expectation.py +0 -0
  66. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/expectation_evaluation.py +0 -0
  67. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/expectation_incident.py +0 -0
  68. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/external_event.py +0 -0
  69. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/file_action.py +0 -0
  70. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/file_comment.py +0 -0
  71. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/file_comment_reaction.py +0 -0
  72. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/file_migration.py +0 -0
  73. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/file_migration_log.py +0 -0
  74. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/file_upload_part.py +0 -0
  75. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/folder.py +0 -0
  76. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/form_field.py +0 -0
  77. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/form_field_set.py +0 -0
  78. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/ftp_action_log.py +0 -0
  79. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/gpg_key.py +0 -0
  80. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/group.py +0 -0
  81. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/group_user.py +0 -0
  82. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/history.py +0 -0
  83. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/history_export.py +0 -0
  84. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/history_export_result.py +0 -0
  85. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/holiday_region.py +0 -0
  86. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/image.py +0 -0
  87. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/inbound_s3_log.py +0 -0
  88. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/inbox_recipient.py +0 -0
  89. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/inbox_registration.py +0 -0
  90. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/inbox_upload.py +0 -0
  91. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/invoice.py +0 -0
  92. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/invoice_line_item.py +0 -0
  93. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/ip_address.py +0 -0
  94. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/key_lifecycle_rule.py +0 -0
  95. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/lock.py +0 -0
  96. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/message.py +0 -0
  97. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/message_comment.py +0 -0
  98. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/message_comment_reaction.py +0 -0
  99. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/message_reaction.py +0 -0
  100. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/metadata_category.py +0 -0
  101. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/notification.py +0 -0
  102. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/outbound_connection_log.py +0 -0
  103. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/partner.py +0 -0
  104. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/partner_channel.py +0 -0
  105. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/partner_site.py +0 -0
  106. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/partner_site_request.py +0 -0
  107. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/payment.py +0 -0
  108. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/payment_line_item.py +0 -0
  109. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/pending_work_event.py +0 -0
  110. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/permission.py +0 -0
  111. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/preview.py +0 -0
  112. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/project.py +0 -0
  113. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/public_hosting_request_log.py +0 -0
  114. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/public_ip_address.py +0 -0
  115. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/public_key.py +0 -0
  116. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
  117. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/remote_mount_backend.py +0 -0
  118. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/remote_server.py +0 -0
  119. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/remote_server_configuration_file.py +0 -0
  120. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/remote_server_credential.py +0 -0
  121. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/request.py +0 -0
  122. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/restore.py +0 -0
  123. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/scheduled_export.py +0 -0
  124. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/scim_log.py +0 -0
  125. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/session.py +0 -0
  126. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/settings_change.py +0 -0
  127. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/sftp_action_log.py +0 -0
  128. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/sftp_host_key.py +0 -0
  129. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/share_group.py +0 -0
  130. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/share_group_member.py +0 -0
  131. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/siem_http_destination.py +0 -0
  132. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/siem_http_destination_event.py +0 -0
  133. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/site.py +0 -0
  134. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/site_subdomain_redirect.py +0 -0
  135. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/snapshot.py +0 -0
  136. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/sso_event.py +0 -0
  137. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/sso_strategy.py +0 -0
  138. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/status.py +0 -0
  139. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/style.py +0 -0
  140. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/sync.py +0 -0
  141. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/sync_log.py +0 -0
  142. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/sync_run.py +0 -0
  143. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/sync_run_live_transfer.py +0 -0
  144. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/usage_by_top_level_dir.py +0 -0
  145. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/usage_daily_snapshot.py +0 -0
  146. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/usage_snapshot.py +0 -0
  147. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/user.py +0 -0
  148. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/user_cipher_use.py +0 -0
  149. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/user_lifecycle_rule.py +0 -0
  150. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/user_request.py +0 -0
  151. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/user_security_event.py +0 -0
  152. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/user_sftp_client_use.py +0 -0
  153. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/web_dav_action_log.py +0 -0
  154. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/webhook_test.py +0 -0
  155. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/workspace.py +0 -0
  156. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/models/zip_list_entry.py +0 -0
  157. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/path_util.py +0 -0
  158. {files_com-1.6.416 → files_com-1.6.417}/files_sdk/util.py +0 -0
  159. {files_com-1.6.416 → files_com-1.6.417}/setup.cfg +0 -0
  160. {files_com-1.6.416 → files_com-1.6.417}/tests/test_account_line_item.py +0 -0
  161. {files_com-1.6.416 → files_com-1.6.417}/tests/test_action.py +0 -0
  162. {files_com-1.6.416 → files_com-1.6.417}/tests/test_action_log.py +0 -0
  163. {files_com-1.6.416 → files_com-1.6.417}/tests/test_action_notification_export.py +0 -0
  164. {files_com-1.6.416 → files_com-1.6.417}/tests/test_action_notification_export_result.py +0 -0
  165. {files_com-1.6.416 → files_com-1.6.417}/tests/test_agent_push_update.py +0 -0
  166. {files_com-1.6.416 → files_com-1.6.417}/tests/test_ai_assistant_personality.py +0 -0
  167. {files_com-1.6.416 → files_com-1.6.417}/tests/test_ai_task.py +0 -0
  168. {files_com-1.6.416 → files_com-1.6.417}/tests/test_api_errors.py +0 -0
  169. {files_com-1.6.416 → files_com-1.6.417}/tests/test_api_key.py +0 -0
  170. {files_com-1.6.416 → files_com-1.6.417}/tests/test_api_request_log.py +0 -0
  171. {files_com-1.6.416 → files_com-1.6.417}/tests/test_app.py +0 -0
  172. {files_com-1.6.416 → files_com-1.6.417}/tests/test_as2_incoming_message.py +0 -0
  173. {files_com-1.6.416 → files_com-1.6.417}/tests/test_as2_outgoing_message.py +0 -0
  174. {files_com-1.6.416 → files_com-1.6.417}/tests/test_as2_partner.py +0 -0
  175. {files_com-1.6.416 → files_com-1.6.417}/tests/test_as2_station.py +0 -0
  176. {files_com-1.6.416 → files_com-1.6.417}/tests/test_auto.py +0 -0
  177. {files_com-1.6.416 → files_com-1.6.417}/tests/test_automation.py +0 -0
  178. {files_com-1.6.416 → files_com-1.6.417}/tests/test_automation_log.py +0 -0
  179. {files_com-1.6.416 → files_com-1.6.417}/tests/test_automation_run.py +0 -0
  180. {files_com-1.6.416 → files_com-1.6.417}/tests/test_bandwidth_snapshot.py +0 -0
  181. {files_com-1.6.416 → files_com-1.6.417}/tests/test_behavior.py +0 -0
  182. {files_com-1.6.416 → files_com-1.6.417}/tests/test_bundle.py +0 -0
  183. {files_com-1.6.416 → files_com-1.6.417}/tests/test_bundle_action.py +0 -0
  184. {files_com-1.6.416 → files_com-1.6.417}/tests/test_bundle_download.py +0 -0
  185. {files_com-1.6.416 → files_com-1.6.417}/tests/test_bundle_notification.py +0 -0
  186. {files_com-1.6.416 → files_com-1.6.417}/tests/test_bundle_path.py +0 -0
  187. {files_com-1.6.416 → files_com-1.6.417}/tests/test_bundle_recipient.py +0 -0
  188. {files_com-1.6.416 → files_com-1.6.417}/tests/test_bundle_registration.py +0 -0
  189. {files_com-1.6.416 → files_com-1.6.417}/tests/test_chat_message.py +0 -0
  190. {files_com-1.6.416 → files_com-1.6.417}/tests/test_chat_session.py +0 -0
  191. {files_com-1.6.416 → files_com-1.6.417}/tests/test_child_site_management_policy.py +0 -0
  192. {files_com-1.6.416 → files_com-1.6.417}/tests/test_clickwrap.py +0 -0
  193. {files_com-1.6.416 → files_com-1.6.417}/tests/test_connection_adapter.py +0 -0
  194. {files_com-1.6.416 → files_com-1.6.417}/tests/test_custom_domain.py +0 -0
  195. {files_com-1.6.416 → files_com-1.6.417}/tests/test_decimal_contract.py +0 -0
  196. {files_com-1.6.416 → files_com-1.6.417}/tests/test_desktop_configuration_profile.py +0 -0
  197. {files_com-1.6.416 → files_com-1.6.417}/tests/test_dns_record.py +0 -0
  198. {files_com-1.6.416 → files_com-1.6.417}/tests/test_email_incoming_message.py +0 -0
  199. {files_com-1.6.416 → files_com-1.6.417}/tests/test_email_log.py +0 -0
  200. {files_com-1.6.416 → files_com-1.6.417}/tests/test_errors.py +0 -0
  201. {files_com-1.6.416 → files_com-1.6.417}/tests/test_event_channel.py +0 -0
  202. {files_com-1.6.416 → files_com-1.6.417}/tests/test_event_delivery_attempt.py +0 -0
  203. {files_com-1.6.416 → files_com-1.6.417}/tests/test_event_record.py +0 -0
  204. {files_com-1.6.416 → files_com-1.6.417}/tests/test_event_subscription.py +0 -0
  205. {files_com-1.6.416 → files_com-1.6.417}/tests/test_event_target.py +0 -0
  206. {files_com-1.6.416 → files_com-1.6.417}/tests/test_exavault_api_request_log.py +0 -0
  207. {files_com-1.6.416 → files_com-1.6.417}/tests/test_expectation.py +0 -0
  208. {files_com-1.6.416 → files_com-1.6.417}/tests/test_expectation_evaluation.py +0 -0
  209. {files_com-1.6.416 → files_com-1.6.417}/tests/test_expectation_incident.py +0 -0
  210. {files_com-1.6.416 → files_com-1.6.417}/tests/test_external_event.py +0 -0
  211. {files_com-1.6.416 → files_com-1.6.417}/tests/test_file.py +0 -0
  212. {files_com-1.6.416 → files_com-1.6.417}/tests/test_file_action.py +0 -0
  213. {files_com-1.6.416 → files_com-1.6.417}/tests/test_file_comment.py +0 -0
  214. {files_com-1.6.416 → files_com-1.6.417}/tests/test_file_comment_reaction.py +0 -0
  215. {files_com-1.6.416 → files_com-1.6.417}/tests/test_file_migration.py +0 -0
  216. {files_com-1.6.416 → files_com-1.6.417}/tests/test_file_migration_log.py +0 -0
  217. {files_com-1.6.416 → files_com-1.6.417}/tests/test_file_upload_part.py +0 -0
  218. {files_com-1.6.416 → files_com-1.6.417}/tests/test_folder.py +0 -0
  219. {files_com-1.6.416 → files_com-1.6.417}/tests/test_form_field.py +0 -0
  220. {files_com-1.6.416 → files_com-1.6.417}/tests/test_form_field_set.py +0 -0
  221. {files_com-1.6.416 → files_com-1.6.417}/tests/test_ftp_action_log.py +0 -0
  222. {files_com-1.6.416 → files_com-1.6.417}/tests/test_gpg_key.py +0 -0
  223. {files_com-1.6.416 → files_com-1.6.417}/tests/test_group.py +0 -0
  224. {files_com-1.6.416 → files_com-1.6.417}/tests/test_group_user.py +0 -0
  225. {files_com-1.6.416 → files_com-1.6.417}/tests/test_history.py +0 -0
  226. {files_com-1.6.416 → files_com-1.6.417}/tests/test_history_export.py +0 -0
  227. {files_com-1.6.416 → files_com-1.6.417}/tests/test_history_export_result.py +0 -0
  228. {files_com-1.6.416 → files_com-1.6.417}/tests/test_holiday_region.py +0 -0
  229. {files_com-1.6.416 → files_com-1.6.417}/tests/test_image.py +0 -0
  230. {files_com-1.6.416 → files_com-1.6.417}/tests/test_inbound_s3_log.py +0 -0
  231. {files_com-1.6.416 → files_com-1.6.417}/tests/test_inbox_recipient.py +0 -0
  232. {files_com-1.6.416 → files_com-1.6.417}/tests/test_inbox_registration.py +0 -0
  233. {files_com-1.6.416 → files_com-1.6.417}/tests/test_inbox_upload.py +0 -0
  234. {files_com-1.6.416 → files_com-1.6.417}/tests/test_invoice.py +0 -0
  235. {files_com-1.6.416 → files_com-1.6.417}/tests/test_invoice_line_item.py +0 -0
  236. {files_com-1.6.416 → files_com-1.6.417}/tests/test_ip_address.py +0 -0
  237. {files_com-1.6.416 → files_com-1.6.417}/tests/test_key_lifecycle_rule.py +0 -0
  238. {files_com-1.6.416 → files_com-1.6.417}/tests/test_lock.py +0 -0
  239. {files_com-1.6.416 → files_com-1.6.417}/tests/test_message.py +0 -0
  240. {files_com-1.6.416 → files_com-1.6.417}/tests/test_message_comment.py +0 -0
  241. {files_com-1.6.416 → files_com-1.6.417}/tests/test_message_comment_reaction.py +0 -0
  242. {files_com-1.6.416 → files_com-1.6.417}/tests/test_message_reaction.py +0 -0
  243. {files_com-1.6.416 → files_com-1.6.417}/tests/test_metadata_category.py +0 -0
  244. {files_com-1.6.416 → files_com-1.6.417}/tests/test_notification.py +0 -0
  245. {files_com-1.6.416 → files_com-1.6.417}/tests/test_outbound_connection_log.py +0 -0
  246. {files_com-1.6.416 → files_com-1.6.417}/tests/test_partner.py +0 -0
  247. {files_com-1.6.416 → files_com-1.6.417}/tests/test_partner_channel.py +0 -0
  248. {files_com-1.6.416 → files_com-1.6.417}/tests/test_partner_site.py +0 -0
  249. {files_com-1.6.416 → files_com-1.6.417}/tests/test_partner_site_request.py +0 -0
  250. {files_com-1.6.416 → files_com-1.6.417}/tests/test_path_parameter_encoding.py +0 -0
  251. {files_com-1.6.416 → files_com-1.6.417}/tests/test_payment.py +0 -0
  252. {files_com-1.6.416 → files_com-1.6.417}/tests/test_payment_line_item.py +0 -0
  253. {files_com-1.6.416 → files_com-1.6.417}/tests/test_pending_work_event.py +0 -0
  254. {files_com-1.6.416 → files_com-1.6.417}/tests/test_permission.py +0 -0
  255. {files_com-1.6.416 → files_com-1.6.417}/tests/test_preview.py +0 -0
  256. {files_com-1.6.416 → files_com-1.6.417}/tests/test_project.py +0 -0
  257. {files_com-1.6.416 → files_com-1.6.417}/tests/test_public_hosting_request_log.py +0 -0
  258. {files_com-1.6.416 → files_com-1.6.417}/tests/test_public_ip_address.py +0 -0
  259. {files_com-1.6.416 → files_com-1.6.417}/tests/test_public_key.py +0 -0
  260. {files_com-1.6.416 → files_com-1.6.417}/tests/test_remote_bandwidth_snapshot.py +0 -0
  261. {files_com-1.6.416 → files_com-1.6.417}/tests/test_remote_mount_backend.py +0 -0
  262. {files_com-1.6.416 → files_com-1.6.417}/tests/test_remote_server.py +0 -0
  263. {files_com-1.6.416 → files_com-1.6.417}/tests/test_remote_server_configuration_file.py +0 -0
  264. {files_com-1.6.416 → files_com-1.6.417}/tests/test_remote_server_credential.py +0 -0
  265. {files_com-1.6.416 → files_com-1.6.417}/tests/test_request.py +0 -0
  266. {files_com-1.6.416 → files_com-1.6.417}/tests/test_restore.py +0 -0
  267. {files_com-1.6.416 → files_com-1.6.417}/tests/test_scheduled_export.py +0 -0
  268. {files_com-1.6.416 → files_com-1.6.417}/tests/test_scim_log.py +0 -0
  269. {files_com-1.6.416 → files_com-1.6.417}/tests/test_session.py +0 -0
  270. {files_com-1.6.416 → files_com-1.6.417}/tests/test_settings_change.py +0 -0
  271. {files_com-1.6.416 → files_com-1.6.417}/tests/test_sftp_action_log.py +0 -0
  272. {files_com-1.6.416 → files_com-1.6.417}/tests/test_sftp_host_key.py +0 -0
  273. {files_com-1.6.416 → files_com-1.6.417}/tests/test_share_group.py +0 -0
  274. {files_com-1.6.416 → files_com-1.6.417}/tests/test_share_group_member.py +0 -0
  275. {files_com-1.6.416 → files_com-1.6.417}/tests/test_siem_http_destination.py +0 -0
  276. {files_com-1.6.416 → files_com-1.6.417}/tests/test_siem_http_destination_event.py +0 -0
  277. {files_com-1.6.416 → files_com-1.6.417}/tests/test_site.py +0 -0
  278. {files_com-1.6.416 → files_com-1.6.417}/tests/test_site_subdomain_redirect.py +0 -0
  279. {files_com-1.6.416 → files_com-1.6.417}/tests/test_snapshot.py +0 -0
  280. {files_com-1.6.416 → files_com-1.6.417}/tests/test_sso_event.py +0 -0
  281. {files_com-1.6.416 → files_com-1.6.417}/tests/test_sso_strategy.py +0 -0
  282. {files_com-1.6.416 → files_com-1.6.417}/tests/test_status.py +0 -0
  283. {files_com-1.6.416 → files_com-1.6.417}/tests/test_style.py +0 -0
  284. {files_com-1.6.416 → files_com-1.6.417}/tests/test_sync.py +0 -0
  285. {files_com-1.6.416 → files_com-1.6.417}/tests/test_sync_log.py +0 -0
  286. {files_com-1.6.416 → files_com-1.6.417}/tests/test_sync_run.py +0 -0
  287. {files_com-1.6.416 → files_com-1.6.417}/tests/test_sync_run_live_transfer.py +0 -0
  288. {files_com-1.6.416 → files_com-1.6.417}/tests/test_usage_by_top_level_dir.py +0 -0
  289. {files_com-1.6.416 → files_com-1.6.417}/tests/test_usage_daily_snapshot.py +0 -0
  290. {files_com-1.6.416 → files_com-1.6.417}/tests/test_usage_snapshot.py +0 -0
  291. {files_com-1.6.416 → files_com-1.6.417}/tests/test_user.py +0 -0
  292. {files_com-1.6.416 → files_com-1.6.417}/tests/test_user_cipher_use.py +0 -0
  293. {files_com-1.6.416 → files_com-1.6.417}/tests/test_user_lifecycle_rule.py +0 -0
  294. {files_com-1.6.416 → files_com-1.6.417}/tests/test_user_request.py +0 -0
  295. {files_com-1.6.416 → files_com-1.6.417}/tests/test_user_security_event.py +0 -0
  296. {files_com-1.6.416 → files_com-1.6.417}/tests/test_user_sftp_client_use.py +0 -0
  297. {files_com-1.6.416 → files_com-1.6.417}/tests/test_web_dav_action_log.py +0 -0
  298. {files_com-1.6.416 → files_com-1.6.417}/tests/test_webhook_test.py +0 -0
  299. {files_com-1.6.416 → files_com-1.6.417}/tests/test_workspace.py +0 -0
  300. {files_com-1.6.416 → files_com-1.6.417}/tests/test_workspace_id.py +0 -0
  301. {files_com-1.6.416 → files_com-1.6.417}/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.416
3
+ Version: 1.6.417
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.417
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.416
3
+ Version: 1.6.417
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -210,6 +210,7 @@ tests/test_file_comment.py
210
210
  tests/test_file_comment_reaction.py
211
211
  tests/test_file_migration.py
212
212
  tests/test_file_migration_log.py
213
+ tests/test_file_underscore_destinations.py
213
214
  tests/test_file_upload_part.py
214
215
  tests/test_folder.py
215
216
  tests/test_form_field.py
@@ -298,7 +298,7 @@ source_ip = None
298
298
  workspace_id = None
299
299
  base_url = "https://app.files.com"
300
300
  base_path = "api/rest/v1"
301
- version = "1.6.416"
301
+ version = "1.6.417"
302
302
 
303
303
  __version__ = version
304
304
 
@@ -375,6 +375,42 @@ def upload_file(*args, **kwargs):
375
375
  return file.upload_file(*args, **kwargs)
376
376
 
377
377
 
378
+ def upload_to_remote_server(*args, **kwargs):
379
+ return file.upload_to_remote_server(*args, **kwargs)
380
+
381
+
382
+ def copy_to_remote_server(*args, **kwargs):
383
+ return file.copy_to_remote_server(*args, **kwargs)
384
+
385
+
386
+ def move_to_remote_server(*args, **kwargs):
387
+ return file.move_to_remote_server(*args, **kwargs)
388
+
389
+
390
+ def upload_to_snapshot(*args, **kwargs):
391
+ return file.upload_to_snapshot(*args, **kwargs)
392
+
393
+
394
+ def copy_to_snapshot(*args, **kwargs):
395
+ return file.copy_to_snapshot(*args, **kwargs)
396
+
397
+
398
+ def move_to_snapshot(*args, **kwargs):
399
+ return file.move_to_snapshot(*args, **kwargs)
400
+
401
+
402
+ def upload_to_child_site(*args, **kwargs):
403
+ return file.upload_to_child_site(*args, **kwargs)
404
+
405
+
406
+ def copy_to_child_site(*args, **kwargs):
407
+ return file.copy_to_child_site(*args, **kwargs)
408
+
409
+
410
+ def move_to_child_site(*args, **kwargs):
411
+ return file.move_to_child_site(*args, **kwargs)
412
+
413
+
378
414
  def download_file(*args, **kwargs):
379
415
  return file.download_file(*args, **kwargs)
380
416
 
@@ -4,6 +4,7 @@ from builtins import open as builtin_open
4
4
  from datetime import datetime
5
5
  import io
6
6
  from pathlib import Path
7
+ import files_sdk.path_util as path_util
7
8
  from files_sdk.models.zip_list_entry import ZipListEntry
8
9
  from files_sdk.models.file_action import FileAction
9
10
  from files_sdk.models.file_upload_part import FileUploadPart
@@ -215,6 +216,64 @@ class File:
215
216
  with builtin_open(output_file, "wb") as file:
216
217
  self.download_content(file)
217
218
 
219
+ def copy_to_remote_server(
220
+ self, remote_server_id, destination, params=None
221
+ ):
222
+ if not isinstance(params, dict):
223
+ params = {}
224
+ params = params.copy()
225
+ params["destination"] = _underscore_destination_path(
226
+ "RemoteServers", remote_server_id, destination
227
+ )
228
+ return copy(self.path, params, self.options)
229
+
230
+ def move_to_remote_server(
231
+ self, remote_server_id, destination, params=None
232
+ ):
233
+ if not isinstance(params, dict):
234
+ params = {}
235
+ params = params.copy()
236
+ params["destination"] = _underscore_destination_path(
237
+ "RemoteServers", remote_server_id, destination
238
+ )
239
+ return move(self.path, params, self.options)
240
+
241
+ def copy_to_snapshot(self, snapshot_id, destination, params=None):
242
+ if not isinstance(params, dict):
243
+ params = {}
244
+ params = params.copy()
245
+ params["destination"] = _underscore_destination_path(
246
+ "Snapshots", snapshot_id, destination
247
+ )
248
+ return copy(self.path, params, self.options)
249
+
250
+ def move_to_snapshot(self, snapshot_id, destination, params=None):
251
+ if not isinstance(params, dict):
252
+ params = {}
253
+ params = params.copy()
254
+ params["destination"] = _underscore_destination_path(
255
+ "Snapshots", snapshot_id, destination
256
+ )
257
+ return move(self.path, params, self.options)
258
+
259
+ def copy_to_child_site(self, site_id, destination, params=None):
260
+ if not isinstance(params, dict):
261
+ params = {}
262
+ params = params.copy()
263
+ params["destination"] = _underscore_destination_path(
264
+ "Sites", site_id, destination
265
+ )
266
+ return copy(self.path, params, self.options)
267
+
268
+ def move_to_child_site(self, site_id, destination, params=None):
269
+ if not isinstance(params, dict):
270
+ params = {}
271
+ params = params.copy()
272
+ params["destination"] = _underscore_destination_path(
273
+ "Sites", site_id, destination
274
+ )
275
+ return move(self.path, params, self.options)
276
+
218
277
  # Download File
219
278
  #
220
279
  # Parameters:
@@ -1304,6 +1363,12 @@ def begin_upload(path, params=None, options=None):
1304
1363
  ]
1305
1364
 
1306
1365
 
1366
+ def _underscore_destination_path(root, destination_id, relative_path=None):
1367
+ return path_util.normalize(
1368
+ f"_/{root}/{destination_id}/{relative_path or ''}"
1369
+ )
1370
+
1371
+
1307
1372
  def open(path, mode="r", options=None):
1308
1373
  if not isinstance(options, dict):
1309
1374
  options = {}
@@ -1385,6 +1450,115 @@ def upload_file(path, destination=None, options=None, params=None):
1385
1450
  create(destination, final_params, options)
1386
1451
 
1387
1452
 
1453
+ def upload_to_remote_server(
1454
+ path, remote_server_id, destination=None, options=None, params=None
1455
+ ):
1456
+ if destination is None:
1457
+ destination = Path(path).name
1458
+ return upload_file(
1459
+ path,
1460
+ _underscore_destination_path(
1461
+ "RemoteServers", remote_server_id, destination
1462
+ ),
1463
+ options,
1464
+ params,
1465
+ )
1466
+
1467
+
1468
+ def copy_to_remote_server(
1469
+ path, remote_server_id, destination, params=None, options=None
1470
+ ):
1471
+ if not isinstance(params, dict):
1472
+ params = {}
1473
+ params = params.copy()
1474
+ params["destination"] = _underscore_destination_path(
1475
+ "RemoteServers", remote_server_id, destination
1476
+ )
1477
+ return copy(path, params, options)
1478
+
1479
+
1480
+ def move_to_remote_server(
1481
+ path, remote_server_id, destination, params=None, options=None
1482
+ ):
1483
+ if not isinstance(params, dict):
1484
+ params = {}
1485
+ params = params.copy()
1486
+ params["destination"] = _underscore_destination_path(
1487
+ "RemoteServers", remote_server_id, destination
1488
+ )
1489
+ return move(path, params, options)
1490
+
1491
+
1492
+ def upload_to_snapshot(
1493
+ path, snapshot_id, destination=None, options=None, params=None
1494
+ ):
1495
+ if destination is None:
1496
+ destination = Path(path).name
1497
+ return upload_file(
1498
+ path,
1499
+ _underscore_destination_path("Snapshots", snapshot_id, destination),
1500
+ options,
1501
+ params,
1502
+ )
1503
+
1504
+
1505
+ def copy_to_snapshot(
1506
+ path, snapshot_id, destination, params=None, options=None
1507
+ ):
1508
+ if not isinstance(params, dict):
1509
+ params = {}
1510
+ params = params.copy()
1511
+ params["destination"] = _underscore_destination_path(
1512
+ "Snapshots", snapshot_id, destination
1513
+ )
1514
+ return copy(path, params, options)
1515
+
1516
+
1517
+ def move_to_snapshot(
1518
+ path, snapshot_id, destination, params=None, options=None
1519
+ ):
1520
+ if not isinstance(params, dict):
1521
+ params = {}
1522
+ params = params.copy()
1523
+ params["destination"] = _underscore_destination_path(
1524
+ "Snapshots", snapshot_id, destination
1525
+ )
1526
+ return move(path, params, options)
1527
+
1528
+
1529
+ def upload_to_child_site(
1530
+ path, site_id, destination=None, options=None, params=None
1531
+ ):
1532
+ if destination is None:
1533
+ destination = Path(path).name
1534
+ return upload_file(
1535
+ path,
1536
+ _underscore_destination_path("Sites", site_id, destination),
1537
+ options,
1538
+ params,
1539
+ )
1540
+
1541
+
1542
+ def copy_to_child_site(path, site_id, destination, params=None, options=None):
1543
+ if not isinstance(params, dict):
1544
+ params = {}
1545
+ params = params.copy()
1546
+ params["destination"] = _underscore_destination_path(
1547
+ "Sites", site_id, destination
1548
+ )
1549
+ return copy(path, params, options)
1550
+
1551
+
1552
+ def move_to_child_site(path, site_id, destination, params=None, options=None):
1553
+ if not isinstance(params, dict):
1554
+ params = {}
1555
+ params = params.copy()
1556
+ params["destination"] = _underscore_destination_path(
1557
+ "Sites", site_id, destination
1558
+ )
1559
+ return move(path, params, options)
1560
+
1561
+
1388
1562
  def download_file(path, local_path=None, options=None):
1389
1563
  if not isinstance(options, dict):
1390
1564
  options = {}
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "files_com"
7
- version = "1.6.416"
7
+ version = "1.6.417"
8
8
  description = "Python bindings for the Files.com API"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -0,0 +1,32 @@
1
+ import unittest
2
+ from unittest import mock
3
+
4
+ import files_sdk
5
+ from files_sdk.models import file as file_model
6
+
7
+
8
+ class TestFileUnderscoreDestinations(unittest.TestCase):
9
+ def test_copy_to_remote_server_builds_destination(self):
10
+ with mock.patch.object(file_model, "copy") as mock_copy:
11
+ files_sdk.copy_to_remote_server("source.txt", 42, "/../../remote\\path//./to/file.txt", {"overwrite": True})
12
+
13
+ mock_copy.assert_called_once_with(
14
+ "source.txt",
15
+ {"overwrite": True, "destination": "_/RemoteServers/42/remote/path/to/file.txt"},
16
+ None,
17
+ )
18
+
19
+ def test_upload_to_remote_server_uses_local_basename(self):
20
+ with mock.patch.object(file_model, "upload_file") as mock_upload_file:
21
+ files_sdk.upload_to_remote_server("local/path/to/file.txt", 42)
22
+
23
+ mock_upload_file.assert_called_once_with(
24
+ "local/path/to/file.txt",
25
+ "_/RemoteServers/42/file.txt",
26
+ None,
27
+ None,
28
+ )
29
+
30
+
31
+ if __name__ == '__main__':
32
+ unittest.main()
@@ -16,8 +16,12 @@ class TestPathUtil(unittest.TestCase):
16
16
  for entry in json.load(json_file):
17
17
  self.assertEqual(files_sdk.path_util.normalize_for_comparison(entry[0]), entry[-1])
18
18
 
19
+ def test_normalize_preserves_path_identity(self):
20
+ self.assertEqual(files_sdk.path_util.normalize("/../../remote\\path//./to/file.txt"), "remote/path/to/file.txt")
21
+ self.assertEqual(files_sdk.path_util.normalize("remote/../path/to/file.txt"), "remote/path/to/file.txt")
22
+
19
23
  if __name__ == '__main__':
20
24
  unittest.main()
21
25
 
22
26
  # json_str = File.read("shared/normalization_for_comparison_test_data.json")
23
- # test_cases = JSON.parse json_str
27
+ # test_cases = JSON.parse json_str
@@ -1 +0,0 @@
1
- 1.6.416
File without changes
File without changes