files-com 1.6.50__tar.gz → 1.6.52__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_com-1.6.50/files_com.egg-info → files_com-1.6.52}/PKG-INFO +68 -17
- {files_com-1.6.50 → files_com-1.6.52}/README.md +67 -16
- files_com-1.6.52/_VERSION +1 -0
- {files_com-1.6.50 → files_com-1.6.52/files_com.egg-info}/PKG-INFO +68 -17
- {files_com-1.6.50 → files_com-1.6.52}/files_com.egg-info/SOURCES.txt +2 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/__init__.py +5 -1
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/__init__.py +3 -0
- files_com-1.6.52/files_sdk/models/child_site_management_policy.py +276 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/remote_server_configuration_file.py +1 -1
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/site.py +1 -0
- {files_com-1.6.50 → files_com-1.6.52}/pyproject.toml +1 -1
- files_com-1.6.52/tests/test_child_site_management_policy.py +73 -0
- files_com-1.6.50/_VERSION +0 -1
- {files_com-1.6.50 → files_com-1.6.52}/LICENSE +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_com.egg-info/dependency_links.txt +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_com.egg-info/requires.txt +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_com.egg-info/top_level.txt +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/api.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/api_client.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/error.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/list_obj.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/account_line_item.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/action.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/action_notification_export.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/action_notification_export_result.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/api_key.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/api_request_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/app.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/as2_incoming_message.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/as2_outgoing_message.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/as2_partner.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/as2_station.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/auto.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/automation.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/automation_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/automation_run.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/bandwidth_snapshot.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/behavior.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/bundle.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/bundle_action.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/bundle_download.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/bundle_notification.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/bundle_path.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/bundle_recipient.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/bundle_registration.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/clickwrap.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/dns_record.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/email_incoming_message.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/email_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/errors.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/exavault_api_request_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/external_event.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/file.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/file_action.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/file_comment.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/file_comment_reaction.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/file_migration.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/file_migration_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/file_upload_part.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/folder.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/form_field.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/form_field_set.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/ftp_action_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/gpg_key.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/group.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/group_user.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/history.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/history_export.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/history_export_result.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/holiday_region.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/image.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/inbox_recipient.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/inbox_registration.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/inbox_upload.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/invoice.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/invoice_line_item.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/ip_address.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/lock.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/message.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/message_comment.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/message_comment_reaction.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/message_reaction.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/notification.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/outbound_connection_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/payment.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/payment_line_item.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/permission.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/preview.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/priority.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/project.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/public_hosting_request_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/public_ip_address.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/public_key.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/remote_mount_backend.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/remote_server.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/request.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/restore.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/session.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/settings_change.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/sftp_action_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/sftp_host_key.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/share_group.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/share_group_member.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/siem_http_destination.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/snapshot.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/sso_strategy.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/status.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/style.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/sync.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/sync_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/sync_run.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/usage_by_top_level_dir.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/usage_daily_snapshot.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/usage_snapshot.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/user.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/user_cipher_use.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/user_lifecycle_rule.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/user_request.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/user_sftp_client_use.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/web_dav_action_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/models/webhook_test.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/path_util.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/files_sdk/util.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/setup.cfg +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_account_line_item.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_action.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_action_notification_export.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_action_notification_export_result.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_api_errors.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_api_key.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_api_request_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_app.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_as2_incoming_message.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_as2_outgoing_message.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_as2_partner.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_as2_station.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_auto.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_automation.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_automation_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_automation_run.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_bandwidth_snapshot.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_behavior.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_bundle.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_bundle_action.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_bundle_download.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_bundle_notification.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_bundle_path.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_bundle_recipient.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_bundle_registration.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_clickwrap.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_connection_adapter.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_dns_record.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_email_incoming_message.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_email_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_errors.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_exavault_api_request_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_external_event.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_file.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_file_action.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_file_comment.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_file_comment_reaction.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_file_migration.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_file_migration_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_file_upload_part.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_folder.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_form_field.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_form_field_set.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_ftp_action_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_gpg_key.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_group.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_group_user.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_history.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_history_export.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_history_export_result.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_holiday_region.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_image.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_inbox_recipient.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_inbox_registration.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_inbox_upload.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_invoice.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_invoice_line_item.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_ip_address.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_lock.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_message.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_message_comment.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_message_comment_reaction.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_message_reaction.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_notification.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_outbound_connection_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_path_util.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_payment.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_payment_line_item.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_permission.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_preview.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_priority.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_project.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_public_hosting_request_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_public_ip_address.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_public_key.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_remote_bandwidth_snapshot.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_remote_mount_backend.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_remote_server.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_remote_server_configuration_file.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_request.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_restore.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_session.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_settings_change.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_sftp_action_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_sftp_host_key.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_share_group.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_share_group_member.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_siem_http_destination.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_site.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_snapshot.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_sso_strategy.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_status.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_style.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_sync.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_sync_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_sync_run.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_usage_by_top_level_dir.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_usage_daily_snapshot.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_usage_snapshot.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_user.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_user_cipher_use.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_user_lifecycle_rule.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_user_request.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_user_sftp_client_use.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/tests/test_web_dav_action_log.py +0 -0
- {files_com-1.6.50 → files_com-1.6.52}/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.6.
|
|
3
|
+
Version: 1.6.52
|
|
4
4
|
Summary: Python bindings for the Files.com API
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.5
|
|
@@ -374,6 +374,73 @@ except files_sdk.error.Error as err:
|
|
|
374
374
|
print(f"Unknown Error Occurred ({type(err).__name__}):", err)
|
|
375
375
|
```
|
|
376
376
|
|
|
377
|
+
## Paths
|
|
378
|
+
|
|
379
|
+
Working with paths in Files.com involves several important considerations. Understanding how path comparisons are applied helps developers ensure consistency and accuracy across all interactions with the platform.
|
|
380
|
+
<div></div>
|
|
381
|
+
|
|
382
|
+
### Capitalization
|
|
383
|
+
|
|
384
|
+
Files.com compares paths in a **case-insensitive** manner. This means path segments are treated as equivalent regardless of letter casing.
|
|
385
|
+
|
|
386
|
+
For example, all of the following resolve to the same internal path:
|
|
387
|
+
|
|
388
|
+
| Path Variant | Interpreted As |
|
|
389
|
+
|---------------------------------------|------------------------------|
|
|
390
|
+
| `Documents/Reports/Q1.pdf` | `documents/reports/q1.pdf` |
|
|
391
|
+
| `documents/reports/q1.PDF` | `documents/reports/q1.pdf` |
|
|
392
|
+
| `DOCUMENTS/REPORTS/Q1.PDF` | `documents/reports/q1.pdf` |
|
|
393
|
+
|
|
394
|
+
This behavior applies across:
|
|
395
|
+
- API requests
|
|
396
|
+
- Folder and file lookup operations
|
|
397
|
+
- Automations and workflows
|
|
398
|
+
|
|
399
|
+
See also: [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/case-sensitivity/)
|
|
400
|
+
|
|
401
|
+
The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
|
|
402
|
+
your native file system would be considered the same on Files.com. This is particularly important
|
|
403
|
+
when handling errors related to duplicate file names and when developing tools for folder
|
|
404
|
+
synchronization.
|
|
405
|
+
|
|
406
|
+
```python title="Compare Case-Insensitive Files and Paths"
|
|
407
|
+
import files_sdk
|
|
408
|
+
|
|
409
|
+
if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
|
|
410
|
+
print("Paths are the same")
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
### Slashes
|
|
414
|
+
|
|
415
|
+
All path parameters in Files.com (API, SDKs, CLI, automations, integrations) must **omit leading and trailing slashes**. Paths are always treated as **absolute and slash-delimited**, so only internal `/` separators are used and never at the start or end of the string.
|
|
416
|
+
|
|
417
|
+
#### Path Slash Examples
|
|
418
|
+
| Path | Valid? | Notes |
|
|
419
|
+
|-----------------------------------|--------|-------------------------------|
|
|
420
|
+
| `folder/subfolder/file.txt` | ✅ | Correct, internal separators only |
|
|
421
|
+
| `/folder/subfolder/file.txt` | ❌ | Leading slash not allowed |
|
|
422
|
+
| `folder/subfolder/file.txt/` | ❌ | Trailing slash not allowed |
|
|
423
|
+
| `//folder//file.txt` | ❌ | Duplicate separators not allowed |
|
|
424
|
+
|
|
425
|
+
<div></div>
|
|
426
|
+
|
|
427
|
+
### Unicode Normalization
|
|
428
|
+
|
|
429
|
+
Files.com normalizes all paths using [Unicode NFC (Normalization Form C)](https://www.unicode.org/reports/tr15/#Norm_Forms) before comparison. This ensures consistency across different representations of the same characters.
|
|
430
|
+
|
|
431
|
+
For example, the following two paths are treated as equivalent after NFC normalization:
|
|
432
|
+
|
|
433
|
+
| Input | Normalized Form |
|
|
434
|
+
|----------------------------------------|------------------------|
|
|
435
|
+
| `uploads/\u0065\u0301.txt` | `uploads/é.txt` |
|
|
436
|
+
| `docs/Café/Report.txt` | `docs/Café/Report.txt` |
|
|
437
|
+
|
|
438
|
+
- All input must be UTF‑8 encoded.
|
|
439
|
+
- Precomposed and decomposed characters are unified.
|
|
440
|
+
- This affects search, deduplication, and comparisons across SDKs.
|
|
441
|
+
|
|
442
|
+
<div></div>
|
|
443
|
+
|
|
377
444
|
## Foreign Language Support
|
|
378
445
|
|
|
379
446
|
The Files.com Python SDK supports localized responses by using the `files_sdk.set_language` configuration method.
|
|
@@ -671,22 +738,6 @@ except files_sdk.error.Error as err:
|
|
|
671
738
|
print(f"Unknown Error Occurred ({type(err).__name__}):", err)
|
|
672
739
|
```
|
|
673
740
|
|
|
674
|
-
## Case Sensitivity
|
|
675
|
-
|
|
676
|
-
The Files.com API compares files and paths in a case-insensitive manner. For related documentation see [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/file-system-semantics/case-sensitivity).
|
|
677
|
-
|
|
678
|
-
The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
|
|
679
|
-
your native file system would be considered the same on Files.com. This is particularly important
|
|
680
|
-
when handling errors related to duplicate file names and when developing tools for folder
|
|
681
|
-
synchronization.
|
|
682
|
-
|
|
683
|
-
```python title="Compare Case-Insensitive Files and Paths"
|
|
684
|
-
import files_sdk
|
|
685
|
-
|
|
686
|
-
if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
|
|
687
|
-
print("Paths are the same")
|
|
688
|
-
```
|
|
689
|
-
|
|
690
741
|
## Mock Server
|
|
691
742
|
|
|
692
743
|
Files.com publishes a Files.com API server, which is useful for testing your use of the Files.com
|
|
@@ -362,6 +362,73 @@ except files_sdk.error.Error as err:
|
|
|
362
362
|
print(f"Unknown Error Occurred ({type(err).__name__}):", err)
|
|
363
363
|
```
|
|
364
364
|
|
|
365
|
+
## Paths
|
|
366
|
+
|
|
367
|
+
Working with paths in Files.com involves several important considerations. Understanding how path comparisons are applied helps developers ensure consistency and accuracy across all interactions with the platform.
|
|
368
|
+
<div></div>
|
|
369
|
+
|
|
370
|
+
### Capitalization
|
|
371
|
+
|
|
372
|
+
Files.com compares paths in a **case-insensitive** manner. This means path segments are treated as equivalent regardless of letter casing.
|
|
373
|
+
|
|
374
|
+
For example, all of the following resolve to the same internal path:
|
|
375
|
+
|
|
376
|
+
| Path Variant | Interpreted As |
|
|
377
|
+
|---------------------------------------|------------------------------|
|
|
378
|
+
| `Documents/Reports/Q1.pdf` | `documents/reports/q1.pdf` |
|
|
379
|
+
| `documents/reports/q1.PDF` | `documents/reports/q1.pdf` |
|
|
380
|
+
| `DOCUMENTS/REPORTS/Q1.PDF` | `documents/reports/q1.pdf` |
|
|
381
|
+
|
|
382
|
+
This behavior applies across:
|
|
383
|
+
- API requests
|
|
384
|
+
- Folder and file lookup operations
|
|
385
|
+
- Automations and workflows
|
|
386
|
+
|
|
387
|
+
See also: [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/case-sensitivity/)
|
|
388
|
+
|
|
389
|
+
The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
|
|
390
|
+
your native file system would be considered the same on Files.com. This is particularly important
|
|
391
|
+
when handling errors related to duplicate file names and when developing tools for folder
|
|
392
|
+
synchronization.
|
|
393
|
+
|
|
394
|
+
```python title="Compare Case-Insensitive Files and Paths"
|
|
395
|
+
import files_sdk
|
|
396
|
+
|
|
397
|
+
if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
|
|
398
|
+
print("Paths are the same")
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### Slashes
|
|
402
|
+
|
|
403
|
+
All path parameters in Files.com (API, SDKs, CLI, automations, integrations) must **omit leading and trailing slashes**. Paths are always treated as **absolute and slash-delimited**, so only internal `/` separators are used and never at the start or end of the string.
|
|
404
|
+
|
|
405
|
+
#### Path Slash Examples
|
|
406
|
+
| Path | Valid? | Notes |
|
|
407
|
+
|-----------------------------------|--------|-------------------------------|
|
|
408
|
+
| `folder/subfolder/file.txt` | ✅ | Correct, internal separators only |
|
|
409
|
+
| `/folder/subfolder/file.txt` | ❌ | Leading slash not allowed |
|
|
410
|
+
| `folder/subfolder/file.txt/` | ❌ | Trailing slash not allowed |
|
|
411
|
+
| `//folder//file.txt` | ❌ | Duplicate separators not allowed |
|
|
412
|
+
|
|
413
|
+
<div></div>
|
|
414
|
+
|
|
415
|
+
### Unicode Normalization
|
|
416
|
+
|
|
417
|
+
Files.com normalizes all paths using [Unicode NFC (Normalization Form C)](https://www.unicode.org/reports/tr15/#Norm_Forms) before comparison. This ensures consistency across different representations of the same characters.
|
|
418
|
+
|
|
419
|
+
For example, the following two paths are treated as equivalent after NFC normalization:
|
|
420
|
+
|
|
421
|
+
| Input | Normalized Form |
|
|
422
|
+
|----------------------------------------|------------------------|
|
|
423
|
+
| `uploads/\u0065\u0301.txt` | `uploads/é.txt` |
|
|
424
|
+
| `docs/Café/Report.txt` | `docs/Café/Report.txt` |
|
|
425
|
+
|
|
426
|
+
- All input must be UTF‑8 encoded.
|
|
427
|
+
- Precomposed and decomposed characters are unified.
|
|
428
|
+
- This affects search, deduplication, and comparisons across SDKs.
|
|
429
|
+
|
|
430
|
+
<div></div>
|
|
431
|
+
|
|
365
432
|
## Foreign Language Support
|
|
366
433
|
|
|
367
434
|
The Files.com Python SDK supports localized responses by using the `files_sdk.set_language` configuration method.
|
|
@@ -659,22 +726,6 @@ except files_sdk.error.Error as err:
|
|
|
659
726
|
print(f"Unknown Error Occurred ({type(err).__name__}):", err)
|
|
660
727
|
```
|
|
661
728
|
|
|
662
|
-
## Case Sensitivity
|
|
663
|
-
|
|
664
|
-
The Files.com API compares files and paths in a case-insensitive manner. For related documentation see [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/file-system-semantics/case-sensitivity).
|
|
665
|
-
|
|
666
|
-
The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
|
|
667
|
-
your native file system would be considered the same on Files.com. This is particularly important
|
|
668
|
-
when handling errors related to duplicate file names and when developing tools for folder
|
|
669
|
-
synchronization.
|
|
670
|
-
|
|
671
|
-
```python title="Compare Case-Insensitive Files and Paths"
|
|
672
|
-
import files_sdk
|
|
673
|
-
|
|
674
|
-
if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
|
|
675
|
-
print("Paths are the same")
|
|
676
|
-
```
|
|
677
|
-
|
|
678
729
|
## Mock Server
|
|
679
730
|
|
|
680
731
|
Files.com publishes a Files.com API server, which is useful for testing your use of the Files.com
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.6.52
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: files_com
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.52
|
|
4
4
|
Summary: Python bindings for the Files.com API
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.5
|
|
@@ -374,6 +374,73 @@ except files_sdk.error.Error as err:
|
|
|
374
374
|
print(f"Unknown Error Occurred ({type(err).__name__}):", err)
|
|
375
375
|
```
|
|
376
376
|
|
|
377
|
+
## Paths
|
|
378
|
+
|
|
379
|
+
Working with paths in Files.com involves several important considerations. Understanding how path comparisons are applied helps developers ensure consistency and accuracy across all interactions with the platform.
|
|
380
|
+
<div></div>
|
|
381
|
+
|
|
382
|
+
### Capitalization
|
|
383
|
+
|
|
384
|
+
Files.com compares paths in a **case-insensitive** manner. This means path segments are treated as equivalent regardless of letter casing.
|
|
385
|
+
|
|
386
|
+
For example, all of the following resolve to the same internal path:
|
|
387
|
+
|
|
388
|
+
| Path Variant | Interpreted As |
|
|
389
|
+
|---------------------------------------|------------------------------|
|
|
390
|
+
| `Documents/Reports/Q1.pdf` | `documents/reports/q1.pdf` |
|
|
391
|
+
| `documents/reports/q1.PDF` | `documents/reports/q1.pdf` |
|
|
392
|
+
| `DOCUMENTS/REPORTS/Q1.PDF` | `documents/reports/q1.pdf` |
|
|
393
|
+
|
|
394
|
+
This behavior applies across:
|
|
395
|
+
- API requests
|
|
396
|
+
- Folder and file lookup operations
|
|
397
|
+
- Automations and workflows
|
|
398
|
+
|
|
399
|
+
See also: [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/case-sensitivity/)
|
|
400
|
+
|
|
401
|
+
The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
|
|
402
|
+
your native file system would be considered the same on Files.com. This is particularly important
|
|
403
|
+
when handling errors related to duplicate file names and when developing tools for folder
|
|
404
|
+
synchronization.
|
|
405
|
+
|
|
406
|
+
```python title="Compare Case-Insensitive Files and Paths"
|
|
407
|
+
import files_sdk
|
|
408
|
+
|
|
409
|
+
if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
|
|
410
|
+
print("Paths are the same")
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
### Slashes
|
|
414
|
+
|
|
415
|
+
All path parameters in Files.com (API, SDKs, CLI, automations, integrations) must **omit leading and trailing slashes**. Paths are always treated as **absolute and slash-delimited**, so only internal `/` separators are used and never at the start or end of the string.
|
|
416
|
+
|
|
417
|
+
#### Path Slash Examples
|
|
418
|
+
| Path | Valid? | Notes |
|
|
419
|
+
|-----------------------------------|--------|-------------------------------|
|
|
420
|
+
| `folder/subfolder/file.txt` | ✅ | Correct, internal separators only |
|
|
421
|
+
| `/folder/subfolder/file.txt` | ❌ | Leading slash not allowed |
|
|
422
|
+
| `folder/subfolder/file.txt/` | ❌ | Trailing slash not allowed |
|
|
423
|
+
| `//folder//file.txt` | ❌ | Duplicate separators not allowed |
|
|
424
|
+
|
|
425
|
+
<div></div>
|
|
426
|
+
|
|
427
|
+
### Unicode Normalization
|
|
428
|
+
|
|
429
|
+
Files.com normalizes all paths using [Unicode NFC (Normalization Form C)](https://www.unicode.org/reports/tr15/#Norm_Forms) before comparison. This ensures consistency across different representations of the same characters.
|
|
430
|
+
|
|
431
|
+
For example, the following two paths are treated as equivalent after NFC normalization:
|
|
432
|
+
|
|
433
|
+
| Input | Normalized Form |
|
|
434
|
+
|----------------------------------------|------------------------|
|
|
435
|
+
| `uploads/\u0065\u0301.txt` | `uploads/é.txt` |
|
|
436
|
+
| `docs/Café/Report.txt` | `docs/Café/Report.txt` |
|
|
437
|
+
|
|
438
|
+
- All input must be UTF‑8 encoded.
|
|
439
|
+
- Precomposed and decomposed characters are unified.
|
|
440
|
+
- This affects search, deduplication, and comparisons across SDKs.
|
|
441
|
+
|
|
442
|
+
<div></div>
|
|
443
|
+
|
|
377
444
|
## Foreign Language Support
|
|
378
445
|
|
|
379
446
|
The Files.com Python SDK supports localized responses by using the `files_sdk.set_language` configuration method.
|
|
@@ -671,22 +738,6 @@ except files_sdk.error.Error as err:
|
|
|
671
738
|
print(f"Unknown Error Occurred ({type(err).__name__}):", err)
|
|
672
739
|
```
|
|
673
740
|
|
|
674
|
-
## Case Sensitivity
|
|
675
|
-
|
|
676
|
-
The Files.com API compares files and paths in a case-insensitive manner. For related documentation see [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/file-system-semantics/case-sensitivity).
|
|
677
|
-
|
|
678
|
-
The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
|
|
679
|
-
your native file system would be considered the same on Files.com. This is particularly important
|
|
680
|
-
when handling errors related to duplicate file names and when developing tools for folder
|
|
681
|
-
synchronization.
|
|
682
|
-
|
|
683
|
-
```python title="Compare Case-Insensitive Files and Paths"
|
|
684
|
-
import files_sdk
|
|
685
|
-
|
|
686
|
-
if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
|
|
687
|
-
print("Paths are the same")
|
|
688
|
-
```
|
|
689
|
-
|
|
690
741
|
## Mock Server
|
|
691
742
|
|
|
692
743
|
Files.com publishes a Files.com API server, which is useful for testing your use of the Files.com
|
|
@@ -40,6 +40,7 @@ files_sdk/models/bundle_notification.py
|
|
|
40
40
|
files_sdk/models/bundle_path.py
|
|
41
41
|
files_sdk/models/bundle_recipient.py
|
|
42
42
|
files_sdk/models/bundle_registration.py
|
|
43
|
+
files_sdk/models/child_site_management_policy.py
|
|
43
44
|
files_sdk/models/clickwrap.py
|
|
44
45
|
files_sdk/models/dns_record.py
|
|
45
46
|
files_sdk/models/email_incoming_message.py
|
|
@@ -144,6 +145,7 @@ tests/test_bundle_notification.py
|
|
|
144
145
|
tests/test_bundle_path.py
|
|
145
146
|
tests/test_bundle_recipient.py
|
|
146
147
|
tests/test_bundle_registration.py
|
|
148
|
+
tests/test_child_site_management_policy.py
|
|
147
149
|
tests/test_clickwrap.py
|
|
148
150
|
tests/test_connection_adapter.py
|
|
149
151
|
tests/test_dns_record.py
|
|
@@ -23,6 +23,7 @@ import files_sdk.models.bundle_notification as bundle_notification
|
|
|
23
23
|
import files_sdk.models.bundle_path as bundle_path
|
|
24
24
|
import files_sdk.models.bundle_recipient as bundle_recipient
|
|
25
25
|
import files_sdk.models.bundle_registration as bundle_registration
|
|
26
|
+
import files_sdk.models.child_site_management_policy as child_site_management_policy
|
|
26
27
|
import files_sdk.models.clickwrap as clickwrap
|
|
27
28
|
import files_sdk.models.dns_record as dns_record
|
|
28
29
|
import files_sdk.models.email_incoming_message as email_incoming_message
|
|
@@ -131,6 +132,9 @@ from files_sdk.models.bundle_notification import BundleNotification
|
|
|
131
132
|
from files_sdk.models.bundle_path import BundlePath
|
|
132
133
|
from files_sdk.models.bundle_recipient import BundleRecipient
|
|
133
134
|
from files_sdk.models.bundle_registration import BundleRegistration
|
|
135
|
+
from files_sdk.models.child_site_management_policy import (
|
|
136
|
+
ChildSiteManagementPolicy,
|
|
137
|
+
)
|
|
134
138
|
from files_sdk.models.clickwrap import Clickwrap
|
|
135
139
|
from files_sdk.models.dns_record import DnsRecord
|
|
136
140
|
from files_sdk.models.email_incoming_message import EmailIncomingMessage
|
|
@@ -223,7 +227,7 @@ session_id = None
|
|
|
223
227
|
source_ip = None
|
|
224
228
|
base_url = "https://app.files.com"
|
|
225
229
|
base_path = "api/rest/v1"
|
|
226
|
-
version = "1.6.
|
|
230
|
+
version = "1.6.52"
|
|
227
231
|
|
|
228
232
|
__version__ = version
|
|
229
233
|
|
|
@@ -26,6 +26,9 @@ from files_sdk.models.bundle_notification import BundleNotification
|
|
|
26
26
|
from files_sdk.models.bundle_path import BundlePath
|
|
27
27
|
from files_sdk.models.bundle_recipient import BundleRecipient
|
|
28
28
|
from files_sdk.models.bundle_registration import BundleRegistration
|
|
29
|
+
from files_sdk.models.child_site_management_policy import (
|
|
30
|
+
ChildSiteManagementPolicy,
|
|
31
|
+
)
|
|
29
32
|
from files_sdk.models.clickwrap import Clickwrap
|
|
30
33
|
from files_sdk.models.dns_record import DnsRecord
|
|
31
34
|
from files_sdk.models.email_incoming_message import EmailIncomingMessage
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import builtins # noqa: F401
|
|
2
|
+
from files_sdk.api import Api # noqa: F401
|
|
3
|
+
from files_sdk.list_obj import ListObj
|
|
4
|
+
from files_sdk.error import ( # noqa: F401
|
|
5
|
+
InvalidParameterError,
|
|
6
|
+
MissingParameterError,
|
|
7
|
+
NotImplementedError,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ChildSiteManagementPolicy:
|
|
12
|
+
default_attributes = {
|
|
13
|
+
"id": None, # int64 - ChildSiteManagementPolicy ID
|
|
14
|
+
"site_id": None, # int64 - ID of the Site managing the policy
|
|
15
|
+
"site_setting_name": None, # string - The name of the setting that is managed by the policy
|
|
16
|
+
"managed_value": None, # string - The value for the setting that will be enforced for all child sites that are not exempt
|
|
17
|
+
"skip_child_site_ids": None, # array(int64) - The list of child site IDs that are exempt from this policy
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
def __init__(self, attributes=None, options=None):
|
|
21
|
+
if not isinstance(attributes, dict):
|
|
22
|
+
attributes = {}
|
|
23
|
+
if not isinstance(options, dict):
|
|
24
|
+
options = {}
|
|
25
|
+
self.set_attributes(attributes)
|
|
26
|
+
self.options = options
|
|
27
|
+
|
|
28
|
+
def set_attributes(self, attributes):
|
|
29
|
+
for (
|
|
30
|
+
attribute,
|
|
31
|
+
default_value,
|
|
32
|
+
) in ChildSiteManagementPolicy.default_attributes.items():
|
|
33
|
+
setattr(self, attribute, attributes.get(attribute, default_value))
|
|
34
|
+
|
|
35
|
+
def get_attributes(self):
|
|
36
|
+
return {
|
|
37
|
+
k: getattr(self, k, None)
|
|
38
|
+
for k in ChildSiteManagementPolicy.default_attributes
|
|
39
|
+
if getattr(self, k, None) is not None
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
# Parameters:
|
|
43
|
+
# site_setting_name (required) - string - The name of the setting that is managed by the policy
|
|
44
|
+
# managed_value (required) - string - The value for the setting that will be enforced for all child sites that are not exempt
|
|
45
|
+
# skip_child_site_ids - array(int64) - The list of child site IDs that are exempt from this policy
|
|
46
|
+
def update(self, params=None):
|
|
47
|
+
if not isinstance(params, dict):
|
|
48
|
+
params = {}
|
|
49
|
+
|
|
50
|
+
if hasattr(self, "id") and self.id:
|
|
51
|
+
params["id"] = self.id
|
|
52
|
+
else:
|
|
53
|
+
raise MissingParameterError("Current object doesn't have a id")
|
|
54
|
+
if "id" not in params:
|
|
55
|
+
raise MissingParameterError("Parameter missing: id")
|
|
56
|
+
if "site_setting_name" not in params:
|
|
57
|
+
raise MissingParameterError("Parameter missing: site_setting_name")
|
|
58
|
+
if "managed_value" not in params:
|
|
59
|
+
raise MissingParameterError("Parameter missing: managed_value")
|
|
60
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
61
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
62
|
+
if "site_setting_name" in params and not isinstance(
|
|
63
|
+
params["site_setting_name"], str
|
|
64
|
+
):
|
|
65
|
+
raise InvalidParameterError(
|
|
66
|
+
"Bad parameter: site_setting_name must be an str"
|
|
67
|
+
)
|
|
68
|
+
if "managed_value" in params and not isinstance(
|
|
69
|
+
params["managed_value"], str
|
|
70
|
+
):
|
|
71
|
+
raise InvalidParameterError(
|
|
72
|
+
"Bad parameter: managed_value must be an str"
|
|
73
|
+
)
|
|
74
|
+
if "skip_child_site_ids" in params and not isinstance(
|
|
75
|
+
params["skip_child_site_ids"], builtins.list
|
|
76
|
+
):
|
|
77
|
+
raise InvalidParameterError(
|
|
78
|
+
"Bad parameter: skip_child_site_ids must be an list"
|
|
79
|
+
)
|
|
80
|
+
response, _options = Api.send_request(
|
|
81
|
+
"PATCH",
|
|
82
|
+
"/child_site_management_policies/{id}".format(id=params["id"]),
|
|
83
|
+
params,
|
|
84
|
+
self.options,
|
|
85
|
+
)
|
|
86
|
+
return response.data
|
|
87
|
+
|
|
88
|
+
def delete(self, params=None):
|
|
89
|
+
if not isinstance(params, dict):
|
|
90
|
+
params = {}
|
|
91
|
+
|
|
92
|
+
if hasattr(self, "id") and self.id:
|
|
93
|
+
params["id"] = self.id
|
|
94
|
+
else:
|
|
95
|
+
raise MissingParameterError("Current object doesn't have a id")
|
|
96
|
+
if "id" not in params:
|
|
97
|
+
raise MissingParameterError("Parameter missing: id")
|
|
98
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
99
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
100
|
+
Api.send_request(
|
|
101
|
+
"DELETE",
|
|
102
|
+
"/child_site_management_policies/{id}".format(id=params["id"]),
|
|
103
|
+
params,
|
|
104
|
+
self.options,
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
def destroy(self, params=None):
|
|
108
|
+
self.delete(params)
|
|
109
|
+
|
|
110
|
+
def save(self):
|
|
111
|
+
if hasattr(self, "id") and self.id:
|
|
112
|
+
new_obj = self.update(self.get_attributes())
|
|
113
|
+
self.set_attributes(new_obj.get_attributes())
|
|
114
|
+
return True
|
|
115
|
+
else:
|
|
116
|
+
new_obj = create(self.get_attributes(), self.options)
|
|
117
|
+
self.set_attributes(new_obj.get_attributes())
|
|
118
|
+
return True
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
# Parameters:
|
|
122
|
+
# cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
|
|
123
|
+
# per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
|
124
|
+
def list(params=None, options=None):
|
|
125
|
+
if not isinstance(params, dict):
|
|
126
|
+
params = {}
|
|
127
|
+
if not isinstance(options, dict):
|
|
128
|
+
options = {}
|
|
129
|
+
if "cursor" in params and not isinstance(params["cursor"], str):
|
|
130
|
+
raise InvalidParameterError("Bad parameter: cursor must be an str")
|
|
131
|
+
if "per_page" in params and not isinstance(params["per_page"], int):
|
|
132
|
+
raise InvalidParameterError("Bad parameter: per_page must be an int")
|
|
133
|
+
return ListObj(
|
|
134
|
+
ChildSiteManagementPolicy,
|
|
135
|
+
"GET",
|
|
136
|
+
"/child_site_management_policies",
|
|
137
|
+
params,
|
|
138
|
+
options,
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def all(params=None, options=None):
|
|
143
|
+
list(params, options)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
# Parameters:
|
|
147
|
+
# id (required) - int64 - Child Site Management Policy ID.
|
|
148
|
+
def find(id, params=None, options=None):
|
|
149
|
+
if not isinstance(params, dict):
|
|
150
|
+
params = {}
|
|
151
|
+
if not isinstance(options, dict):
|
|
152
|
+
options = {}
|
|
153
|
+
params["id"] = id
|
|
154
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
155
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
156
|
+
if "id" not in params:
|
|
157
|
+
raise MissingParameterError("Parameter missing: id")
|
|
158
|
+
response, options = Api.send_request(
|
|
159
|
+
"GET",
|
|
160
|
+
"/child_site_management_policies/{id}".format(id=params["id"]),
|
|
161
|
+
params,
|
|
162
|
+
options,
|
|
163
|
+
)
|
|
164
|
+
return ChildSiteManagementPolicy(response.data, options)
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
def get(id, params=None, options=None):
|
|
168
|
+
find(id, params, options)
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
# Parameters:
|
|
172
|
+
# site_setting_name (required) - string - The name of the setting that is managed by the policy
|
|
173
|
+
# managed_value (required) - string - The value for the setting that will be enforced for all child sites that are not exempt
|
|
174
|
+
# skip_child_site_ids - array(int64) - The list of child site IDs that are exempt from this policy
|
|
175
|
+
def create(params=None, options=None):
|
|
176
|
+
if not isinstance(params, dict):
|
|
177
|
+
params = {}
|
|
178
|
+
if not isinstance(options, dict):
|
|
179
|
+
options = {}
|
|
180
|
+
if "site_setting_name" in params and not isinstance(
|
|
181
|
+
params["site_setting_name"], str
|
|
182
|
+
):
|
|
183
|
+
raise InvalidParameterError(
|
|
184
|
+
"Bad parameter: site_setting_name must be an str"
|
|
185
|
+
)
|
|
186
|
+
if "managed_value" in params and not isinstance(
|
|
187
|
+
params["managed_value"], str
|
|
188
|
+
):
|
|
189
|
+
raise InvalidParameterError(
|
|
190
|
+
"Bad parameter: managed_value must be an str"
|
|
191
|
+
)
|
|
192
|
+
if "skip_child_site_ids" in params and not isinstance(
|
|
193
|
+
params["skip_child_site_ids"], builtins.list
|
|
194
|
+
):
|
|
195
|
+
raise InvalidParameterError(
|
|
196
|
+
"Bad parameter: skip_child_site_ids must be an list"
|
|
197
|
+
)
|
|
198
|
+
if "site_setting_name" not in params:
|
|
199
|
+
raise MissingParameterError("Parameter missing: site_setting_name")
|
|
200
|
+
if "managed_value" not in params:
|
|
201
|
+
raise MissingParameterError("Parameter missing: managed_value")
|
|
202
|
+
response, options = Api.send_request(
|
|
203
|
+
"POST", "/child_site_management_policies", params, options
|
|
204
|
+
)
|
|
205
|
+
return ChildSiteManagementPolicy(response.data, options)
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
# Parameters:
|
|
209
|
+
# site_setting_name (required) - string - The name of the setting that is managed by the policy
|
|
210
|
+
# managed_value (required) - string - The value for the setting that will be enforced for all child sites that are not exempt
|
|
211
|
+
# skip_child_site_ids - array(int64) - The list of child site IDs that are exempt from this policy
|
|
212
|
+
def update(id, params=None, options=None):
|
|
213
|
+
if not isinstance(params, dict):
|
|
214
|
+
params = {}
|
|
215
|
+
if not isinstance(options, dict):
|
|
216
|
+
options = {}
|
|
217
|
+
params["id"] = id
|
|
218
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
219
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
220
|
+
if "site_setting_name" in params and not isinstance(
|
|
221
|
+
params["site_setting_name"], str
|
|
222
|
+
):
|
|
223
|
+
raise InvalidParameterError(
|
|
224
|
+
"Bad parameter: site_setting_name must be an str"
|
|
225
|
+
)
|
|
226
|
+
if "managed_value" in params and not isinstance(
|
|
227
|
+
params["managed_value"], str
|
|
228
|
+
):
|
|
229
|
+
raise InvalidParameterError(
|
|
230
|
+
"Bad parameter: managed_value must be an str"
|
|
231
|
+
)
|
|
232
|
+
if "skip_child_site_ids" in params and not isinstance(
|
|
233
|
+
params["skip_child_site_ids"], builtins.list
|
|
234
|
+
):
|
|
235
|
+
raise InvalidParameterError(
|
|
236
|
+
"Bad parameter: skip_child_site_ids must be an list"
|
|
237
|
+
)
|
|
238
|
+
if "id" not in params:
|
|
239
|
+
raise MissingParameterError("Parameter missing: id")
|
|
240
|
+
if "site_setting_name" not in params:
|
|
241
|
+
raise MissingParameterError("Parameter missing: site_setting_name")
|
|
242
|
+
if "managed_value" not in params:
|
|
243
|
+
raise MissingParameterError("Parameter missing: managed_value")
|
|
244
|
+
response, options = Api.send_request(
|
|
245
|
+
"PATCH",
|
|
246
|
+
"/child_site_management_policies/{id}".format(id=params["id"]),
|
|
247
|
+
params,
|
|
248
|
+
options,
|
|
249
|
+
)
|
|
250
|
+
return ChildSiteManagementPolicy(response.data, options)
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
def delete(id, params=None, options=None):
|
|
254
|
+
if not isinstance(params, dict):
|
|
255
|
+
params = {}
|
|
256
|
+
if not isinstance(options, dict):
|
|
257
|
+
options = {}
|
|
258
|
+
params["id"] = id
|
|
259
|
+
if "id" in params and not isinstance(params["id"], int):
|
|
260
|
+
raise InvalidParameterError("Bad parameter: id must be an int")
|
|
261
|
+
if "id" not in params:
|
|
262
|
+
raise MissingParameterError("Parameter missing: id")
|
|
263
|
+
Api.send_request(
|
|
264
|
+
"DELETE",
|
|
265
|
+
"/child_site_management_policies/{id}".format(id=params["id"]),
|
|
266
|
+
params,
|
|
267
|
+
options,
|
|
268
|
+
)
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
def destroy(id, params=None, options=None):
|
|
272
|
+
delete(id, params, options)
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
def new(*args, **kwargs):
|
|
276
|
+
return ChildSiteManagementPolicy(*args, **kwargs)
|
|
@@ -36,7 +36,7 @@ class RemoteServerConfigurationFile:
|
|
|
36
36
|
# * 10 requests/minute: '10-M'
|
|
37
37
|
# * 1000 requests/hour: '1000-H'
|
|
38
38
|
# * 2000 requests/day: '2000-D'
|
|
39
|
-
"auto_update_policy": None, # string - Auto update policy ['manual_trigger', 'critical_only', 'always'] (default critical_only)
|
|
39
|
+
"auto_update_policy": None, # string - Auto update policy ['manual_trigger', 'critical_only', 'always', 'never'] (default critical_only)
|
|
40
40
|
"api_token": None, # string - Files Agent API Token
|
|
41
41
|
"port": None, # int64 - Incoming port for files agent connections
|
|
42
42
|
"hostname": None, # string
|
|
@@ -181,6 +181,7 @@ class Site:
|
|
|
181
181
|
"welcome_screen": None, # string - Does the welcome screen appear?
|
|
182
182
|
"windows_mode_ftp": None, # boolean - Does FTP user Windows emulation mode?
|
|
183
183
|
"group_admins_can_set_user_password": None, # boolean - Allow group admins set password authentication method
|
|
184
|
+
"managed_site_settings": None, # array(string) - List of site settings managed by the parent site
|
|
184
185
|
}
|
|
185
186
|
|
|
186
187
|
def __init__(self, attributes=None, options=None):
|