zou 1.0.3__tar.gz → 1.0.4__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.
- {zou-1.0.3/zou.egg-info → zou-1.0.4}/PKG-INFO +1 -1
- zou-1.0.4/zou/__init__.py +1 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/events/resources.py +24 -9
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/previews/resources.py +35 -1
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/events_service.py +12 -2
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/preview_files_service.py +18 -3
- {zou-1.0.3 → zou-1.0.4/zou.egg-info}/PKG-INFO +1 -1
- zou-1.0.3/zou/__init__.py +0 -1
- {zou-1.0.3 → zou-1.0.4}/LICENSE +0 -0
- {zou-1.0.3 → zou-1.0.4}/README.rst +0 -0
- {zou-1.0.3 → zou-1.0.4}/pyproject.toml +0 -0
- {zou-1.0.3 → zou-1.0.4}/setup.cfg +0 -0
- {zou-1.0.3 → zou-1.0.4}/setup.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/api.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/assets/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/assets/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/auth/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/auth/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/breakdown/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/breakdown/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/chats/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/chats/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/comments/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/comments/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/concepts/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/concepts/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/asset_instance.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/attachment_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/base.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/budget.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/budget_entry.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/chat.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/chat_message.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/comments.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/custom_action.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/day_off.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/department.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/entity.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/entity_link.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/entity_type.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/event.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/file_status.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/hardware_item.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/metadata_descriptor.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/milestone.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/news.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/notification.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/organisation.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/output_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/output_type.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/person.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/playlist.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/plugin.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/preview_background_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/preview_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/production_schedule_version.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/project.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/project_status.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/salary_scale.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/schedule_item.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/search_filter.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/search_filter_group.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/software.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/status_automation.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/studio.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/subscription.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/task.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/task_status.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/task_type.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/time_spent.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/crud/working_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/departments/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/departments/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/edits/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/edits/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/entities/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/entities/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/events/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/assets.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/base.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/casting.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/edits.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/persons.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/playlists.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/projects.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/shots.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/task_types.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/tasks.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/export/csv/time_spents.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/files/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/files/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/index/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/index/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/news/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/news/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/persons/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/persons/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/playlists/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/playlists/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/previews/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/projects/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/projects/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/search/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/search/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/shots/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/shots/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/csv/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/csv/assets.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/csv/base.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/csv/casting.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/csv/edits.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/csv/persons.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/csv/shots.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/csv/task_type_estimations.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/kitsu.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/otio.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/assets.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/base.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/episode.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/exception.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/import_errors.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/notes.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/person.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/project.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/scene.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/sequence.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/shot.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/status.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/steps.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/tasks.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/team.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/source/shotgun/versions.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/tasks/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/tasks/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/user/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/blueprints/user/resources.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/config.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/file_trees/default.json +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/file_trees/simple.json +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/indexer/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/indexer/indexing.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/mixin.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/asset_instance.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/attachment_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/base.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/budget.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/budget_entry.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/build_job.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/chat.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/chat_message.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/comment.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/custom_action.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/data_import_error.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/day_off.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/department.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/desktop_login_log.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/entity.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/entity_type.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/event.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/file_status.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/hardware_item.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/login_log.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/metadata_descriptor.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/milestone.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/news.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/notification.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/organisation.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/output_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/output_type.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/person.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/playlist.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/plugin.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/preview_background_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/preview_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/production_schedule_version.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/project.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/project_status.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/salary_scale.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/schedule_item.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/search_filter.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/search_filter_group.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/serializer.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/software.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/status_automation.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/studio.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/subscription.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/task.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/task_status.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/task_type.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/time_spent.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/models/working_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/assets_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/auth_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/backup_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/base_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/breakdown_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/budget_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/chats_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/comments_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/concepts_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/custom_actions_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/deletion_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/departments_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/edits_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/emails_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/entities_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/exception.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/file_tree_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/files_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/index_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/names_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/news_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/notifications_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/persons_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/playlists_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/plugins_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/projects_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/scenes_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/schedule_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/shots_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/stats_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/status_automations_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/sync_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/tasks_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/telemetry_services.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/templates_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/time_spents_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/services/user_service.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/stores/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/stores/auth_tokens_store.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/stores/file_store.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/stores/publisher_store.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/stores/queue_store.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/swagger.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/api.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/auth.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/cache.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/chats.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/colors.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/commands.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/csv_utils.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/date_helpers.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/dbhelpers.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/emails.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/env.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/events.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/fido.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/fields.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/flask.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/fs.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/git.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/logs.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/monitoring.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/permissions.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/plugins.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/query.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/redis.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/remote_job.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/saml.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/shell.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/string.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/app/utils/thumbnail.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/cli.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/debug.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/event_stream.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/job_settings.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/README +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/alembic.ini +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/env.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/script.py.mako +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/utils/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/utils/base.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/003be8a91001_add_start_and_end_dates_to_projects.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/0596674df51d_add_department_mentions_to_comments.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/05ac7e8caa21_remove_unique_constraint_for_taskstatus_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/05b7dc79a416_add_archived_fields_to_main_tables.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/06552e22f9e7_add_comment_updated_by.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/0bd1e89f2a6f_add_productionscheduleversiontasklink_uc.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/0c05b22194f3_add_performance_indexes.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/0cf5e0e035fa_drop_column_tasktype_for_shots.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/0ec3762a745d_add_attachment_table.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/0ef6416a507b_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/10cf267d95c9_fix_schedule_item.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/16328eae4b5f_add_new_constraint_for_timespent.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/16df47d76c64_add_some_indexes.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/17ef8f7be758_disallow_null_choicetype.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/1b0ab951adca_add_reply_id_to_attachments.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/1bb55759146f_add_table_studio.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/1cb44194db49_add_file_size_field_to_preview_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/1e150c2cea4d_add_nb_entities_out.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/1e2d77a2f0c4_add_hd_by_default_column.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/1fab8c420678_add_attachments_to_message_chats.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/20a8ad264659_tasktypeassettypelink_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/20dfeb36142b_add_projecttaskstatuslink_roles_for_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/23122f290ca2_add_entity_chat_models.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/269d41bfb73f_add_entity_entity_links.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/26f96f65cfa3_add_productionversionschedule_uc.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/2762a797f1f9_add_people_salary_information.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/29df910f04a4_create_unique_constraint_project_id_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/29fe01a6c9eb_add_status_automation_field.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/2adc020885fa_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/2baede80b111_add_entity_status_field.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/306266361f4f_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/307edd8c639d_change_comment_updated_by_in_comment_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/328fd44c6347_add_entity_created_by.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/32f134ff1201_add_is_shared_flag_to_filters.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/346250b5304c_add_position_to_preview_files.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/3476e147e632_add_acks_to_comments.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/389cfb9de776_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/38baa9a23b3d_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/398150912a3f_validation_status_preview.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/3b0d1321079e_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/3d5c93bafb9d_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/3d8e68dffeee_fix_task_person_link.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/3e0538ddf80f_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/3fee3bd10f9d_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/4095103c7d01_add_is_clients_isolated_flag_to_projects.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/40dea9555940_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/42ec83db6a01_change_person_preferred_two_factor_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/4368137b44e1_productionscheduleversion_add_on_delete_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/43d0cf0ed5e7_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/443d1e78a932_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/45c2de366e66_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/45dafbb3f4e1_for_person_contract_type_disallow_null.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/45f739ef962a_add_people_salary_scale_table.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/4715c2586036_add_last_preview_file_fields.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/4aab1f84ad72_introduce_plugin_table.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/4bd9bfb73f11_add_fields_to_the_software_table.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/4d585b6956f2_add_taskstatus_is_wip.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/4e3738cdc34c_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/4f2398ebcd49_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/523ee9647bee_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/539a3a00c417_for_departmentlink_index_person_id_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/54ee0d1d60ba_add_build_job_model.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/556526e47daa_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/57222395f2be_add_statusautomation_import_last_revision.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5798d2c9020b_change_person_role_to_choicetype.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/590aa1ffe731_add_notifications_enabled_flag.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/59a7445a966c_add_entity_is_shared.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5a291251823c_add_max_retake_parameter.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5ab9d7a75887_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5b0fcbb94f24_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5b7fa3e51701_add_is_client_allowed_flag_to_task_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5b980f0dc365_add_comment_links.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5b9fd9ddfe43_add_homepage_and_contract_fields.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5c0498e264bc_add_slack_fields.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5e2ce62632a6_add_workflow_to_project.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5f1620d191af_add_playlist_id_field_to_notification.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/5f715f2b6348_add_new_table_productionscheduleversion.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/680c64565f9d_for_searchfiltergroup_is_shared.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/693cc511d28d_add_taskstatus_priority.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/6aa446ee4072_add_is_for_all_flage_to_playlists.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/6bd3b102d61b_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/6c597e842afa_add_task_type_field_to_playlists.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/6d1b2c60f58b_add_milestone_model.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/6d7fa5a8e9a5_add_timesheets_locked_field_to_org.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/6eeaff945706_add_data_field_on_entity_links.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/6f6049877105_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/71d546ace0ee_add_performance_indexes.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/7417c8eb70d8_add_for_entity_field_to_playlists.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/772a5e43f05b_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/7748d3d22925_add_columns_to_searchfilter_table_to_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/77d6820f494f_add_reply_to_notif.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/7a16258f2fab_add_currency_field_to_budgets.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/7b1f765677d8_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/7bc746997e8d_add_slack_token_field_to_organisation.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/7dc79d4ed7cd_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/818f7bda2528_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/82e7f7a95e84_add_project_id_to_events.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/82ee682204ab_add_is_generated_from_ldap_column_to_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/83e2f33a9b14_add_project_bugdet_table.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/8588f254d6b8_add_archived_fields.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/8739ae9fa28b_add_for_client_field.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/87efceb6745b_add_ready_for_to_entity.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/892b264937ec_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/8a1b4a1b7f4a_add_totp_columns_for_person.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/8ab98c178903_add_budget_entry_table.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/8e4f39e321f4_add_day_off_table.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/8e67c183bed7_add_preference_fields.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/8fbd40afbe5f_allow_to_set_float_values_for_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/9010a64e5a2d_add_indices.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/9060dd4f6116_notification_uc.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/925771029620_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/92b40d79ad3f_allow_message_attachments.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/92bdfe07e5f5_discord_integration.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/956659992419_add_columns_for_person_to_store_fido_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/9683bd840dee_add_archived_field_to_software.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/96c79d31e648_add_mail_otp_columns_for_person.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/96f58a4a2a58_person_partial_index_for_email_only_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/971dbf5a0faf_add_short_name_for_asset_type_entity_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/98c90621cf58_add_for_client_flag_to_playlist.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/99825b9cc778_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/9a09467f9b2c_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/9af2df17a9d5_add_hardware_table.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/9b85c14fa8a7_add_day_off_new_columns.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/9bd17364fc18_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/9d3bb33c6fc6_add_department_keys_to_filter_models.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/9e5b3a9b0cee_add_new_column_metadatadescriptor_data_type_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/9f8445f9b42c_add_man_days_fields.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/a0f668430352_add_created_by_field_to_playlists.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/a1b2c3d4e5f6_add_position_to_metadata_descriptor.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/a23682ccc1f1_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/a252a094e977_add_descriptions_for_entities_tasks_and_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/a519c710877c_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/a65bdadbae2f_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/a66508788c53_add_nb_assets_ready.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/a6c25eed3ea1_add_login_failed_attemps_and_last_login_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/a7c43f3fbc76_add_duration_column_to_the_preview_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/aa0a60033106_feedback_request.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/addbad59c706_allow_to_manage_drawings_instead_of_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/addbbefa7028_add_departments_link_to_metadata_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/ae0127f2fc56_add_previewfile_width_and_previewfile_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/af1790868e2c_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/b45cb782bb9c_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/b4dd0add5f79_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/b8c0a0f9d054_drop_task_status_is_reviewable.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/b8ed0fb263f8_add_person_jti_and_jti_expiration_date.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/b97a71306fc8_add_is_casting_standby_column_to_entity.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/be56dc0fb760_for_is_shared_disallow_nullable.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/bf1347acdee2_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/c49e41f1298b_add_previewbackground.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/c68c2a62cfac_add_mimetype_column_to_attachment.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/c726b98be194_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/c81f3e83bdb5_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/ca28796a2a62_add_is_done_field_to_the_task_model.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/ce7f46f445dc_add_column_estimation_for_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/cf3d365de164_add_entity_version_model.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/cf6cec6d6bf5_add_status_field_to_preview_file.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/d25118cddcaa_modify_salary_scale_model.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/d5665dca188b_add_version_field_to_software.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/d80267806131_task_status_new_column_is_default.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/d80f02824047_add_plugin_revision.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/d8dcd5196d57_add_casting_label.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/d97f2730bf7b_add_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/dde6be40f54f_add_departement_links_tables_for_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/de8a3de227ef_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/deeacd38d373_for_projecttaskstatuslink_set_default_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/df1834485f57_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/df9f8a147e80_change_file_size_to_big_integer.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/e1ef93f40d3d_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/e29638428dfd_add_schedule_item_table.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/e3f6db74cc1e_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/e4b48ca33539_add_project_production_schedule_version_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/e7e633bd6fa2_add_exceptions_to_budget_entries.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/e839d6603c09_add_person_id_to_shot_history.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/e8bc24998b34_remove_on_delete_cascade_for_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/ee2373fbe3a4_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/f0567e8d0c62_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/f0c6cbb61869_add_production_style_field.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/f344b867a911_for_description_of_entity_task_working_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/f4ff5a73d283_add_person_ldap_uid.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/f5b113876a49_add_preferred_two_factor_authentication_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/f5bdca075cdc_add_preview_download_flag_to_projects.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/f874ad5e898a_add_link_entity_type_task_type.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/f995b28fb749_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/fb6b6f188497_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/fb87feaaa094_add_missing_unique_constraints.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/fba149993140_add_missing_index.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/fc322f908695_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/fee7c696166e_.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/feffd3c5b806_introduce_concepts.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/migrations/versions/ffeed4956ab1_add_more_details_to_projects.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/plugin_template/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/plugin_template/migrations/alembic.ini +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/plugin_template/migrations/env.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/plugin_template/migrations/script.py.mako +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/plugin_template/models.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/plugin_template/routes.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/remote/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/remote/config_payload.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/remote/normalize_movie.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/remote/playlist.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/utils/__init__.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou/utils/movie.py +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou.egg-info/SOURCES.txt +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou.egg-info/dependency_links.txt +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou.egg-info/entry_points.txt +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou.egg-info/not-zip-safe +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou.egg-info/requires.txt +0 -0
- {zou-1.0.3 → zou-1.0.4}/zou.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.0.4"
|
|
@@ -38,6 +38,13 @@ class EventsResource(Resource, ArgsMixin):
|
|
|
38
38
|
default: false
|
|
39
39
|
description: Return only file-related events
|
|
40
40
|
example: false
|
|
41
|
+
- in: query
|
|
42
|
+
name: cursor_event_id
|
|
43
|
+
required: False
|
|
44
|
+
type: string
|
|
45
|
+
format: uuid
|
|
46
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
47
|
+
description: ID of the last event from previous page for cursor-based pagination
|
|
41
48
|
- in: query
|
|
42
49
|
name: limit
|
|
43
50
|
type: integer
|
|
@@ -99,7 +106,8 @@ class EventsResource(Resource, ArgsMixin):
|
|
|
99
106
|
("after", None, False),
|
|
100
107
|
("before", None, False),
|
|
101
108
|
("only_files", False, False),
|
|
102
|
-
("
|
|
109
|
+
("cursor_event_id", None, False),
|
|
110
|
+
("limit", 100, False, int),
|
|
103
111
|
("project_id", None, False),
|
|
104
112
|
("name", None, False),
|
|
105
113
|
],
|
|
@@ -108,6 +116,7 @@ class EventsResource(Resource, ArgsMixin):
|
|
|
108
116
|
permissions.check_manager_permissions()
|
|
109
117
|
before = self.parse_date_parameter(args["before"])
|
|
110
118
|
after = self.parse_date_parameter(args["after"])
|
|
119
|
+
cursor_event_id = args["cursor_event_id"]
|
|
111
120
|
limit = args["limit"]
|
|
112
121
|
only_files = args["only_files"] == "true"
|
|
113
122
|
project_id = args.get("project_id", None)
|
|
@@ -116,15 +125,21 @@ class EventsResource(Resource, ArgsMixin):
|
|
|
116
125
|
raise WrongParameterException(
|
|
117
126
|
"The project_id parameter is not a valid id"
|
|
118
127
|
)
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
only_files=only_files,
|
|
125
|
-
project_id=project_id,
|
|
126
|
-
name=name,
|
|
128
|
+
if cursor_event_id is not None and not fields.is_valid_id(
|
|
129
|
+
cursor_event_id
|
|
130
|
+
):
|
|
131
|
+
raise WrongParameterException(
|
|
132
|
+
"The cursor_event_id parameter is not a valid id"
|
|
127
133
|
)
|
|
134
|
+
return events_service.get_last_events(
|
|
135
|
+
after=after,
|
|
136
|
+
before=before,
|
|
137
|
+
cursor_event_id=cursor_event_id,
|
|
138
|
+
limit=limit,
|
|
139
|
+
only_files=only_files,
|
|
140
|
+
project_id=project_id,
|
|
141
|
+
name=name,
|
|
142
|
+
)
|
|
128
143
|
|
|
129
144
|
|
|
130
145
|
class LoginLogsResource(Resource, ArgsMixin):
|
|
@@ -27,6 +27,7 @@ from zou.app.services import (
|
|
|
27
27
|
from zou.app.stores import queue_store
|
|
28
28
|
from zou.utils import movie
|
|
29
29
|
from zou.app.utils import (
|
|
30
|
+
fields,
|
|
30
31
|
fs,
|
|
31
32
|
events,
|
|
32
33
|
permissions,
|
|
@@ -1567,6 +1568,20 @@ class RunningPreviewFiles(Resource, ArgsMixin):
|
|
|
1567
1568
|
states equal to processing or broken.
|
|
1568
1569
|
tags:
|
|
1569
1570
|
- Previews
|
|
1571
|
+
parameters:
|
|
1572
|
+
- in: query
|
|
1573
|
+
name: cursor_preview_file_id
|
|
1574
|
+
required: false
|
|
1575
|
+
type: string
|
|
1576
|
+
format: uuid
|
|
1577
|
+
description: ID of the last preview file from previous page for cursor-based pagination
|
|
1578
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1579
|
+
- in: query
|
|
1580
|
+
name: limit
|
|
1581
|
+
required: false
|
|
1582
|
+
type: integer
|
|
1583
|
+
description: Maximum number of preview files to return
|
|
1584
|
+
example: 100
|
|
1570
1585
|
responses:
|
|
1571
1586
|
200:
|
|
1572
1587
|
description: All preview files from open productions with processing or broken states
|
|
@@ -1588,7 +1603,26 @@ class RunningPreviewFiles(Resource, ArgsMixin):
|
|
|
1588
1603
|
example: "processing"
|
|
1589
1604
|
"""
|
|
1590
1605
|
permissions.check_admin_permissions()
|
|
1591
|
-
|
|
1606
|
+
args = self.get_args(
|
|
1607
|
+
[
|
|
1608
|
+
("cursor_preview_file_id", None, False),
|
|
1609
|
+
("limit", None, False, int),
|
|
1610
|
+
],
|
|
1611
|
+
)
|
|
1612
|
+
cursor_preview_file_id = args["cursor_preview_file_id"]
|
|
1613
|
+
limit = args["limit"]
|
|
1614
|
+
|
|
1615
|
+
if cursor_preview_file_id is not None and not fields.is_valid_id(
|
|
1616
|
+
cursor_preview_file_id
|
|
1617
|
+
):
|
|
1618
|
+
raise WrongParameterException(
|
|
1619
|
+
"The cursor_preview_file_id parameter is not a valid id"
|
|
1620
|
+
)
|
|
1621
|
+
|
|
1622
|
+
return preview_files_service.get_running_preview_files(
|
|
1623
|
+
cursor_preview_file_id=cursor_preview_file_id,
|
|
1624
|
+
limit=limit,
|
|
1625
|
+
)
|
|
1592
1626
|
|
|
1593
1627
|
|
|
1594
1628
|
class ExtractFrameFromPreview(Resource, ArgsMixin):
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
from zou.app.models.event import ApiEvent
|
|
2
2
|
from zou.app.models.login_log import LoginLog
|
|
3
3
|
from zou.app.utils import fields
|
|
4
|
+
from zou.app.services.exception import WrongParameterException
|
|
4
5
|
from sqlalchemy import func
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
def get_last_events(
|
|
8
9
|
after=None,
|
|
9
10
|
before=None,
|
|
11
|
+
cursor_event_id=None,
|
|
10
12
|
limit=100,
|
|
11
13
|
only_files=False,
|
|
12
14
|
project_id=None,
|
|
13
15
|
name=None,
|
|
14
16
|
):
|
|
15
17
|
"""
|
|
16
|
-
Return
|
|
17
|
-
|
|
18
|
+
Return paginated events using cursor-based pagination.
|
|
19
|
+
If cursor_event_id is set, it returns events older than this event.
|
|
18
20
|
"""
|
|
19
21
|
query = ApiEvent.query.order_by(ApiEvent.created_at.desc())
|
|
20
22
|
|
|
@@ -46,6 +48,14 @@ def get_last_events(
|
|
|
46
48
|
if name is not None:
|
|
47
49
|
query = query.filter(ApiEvent.name == name)
|
|
48
50
|
|
|
51
|
+
if cursor_event_id is not None:
|
|
52
|
+
cursor_event = ApiEvent.query.get(cursor_event_id)
|
|
53
|
+
if cursor_event is None:
|
|
54
|
+
raise WrongParameterException(
|
|
55
|
+
f"No event found with id: {cursor_event_id}"
|
|
56
|
+
)
|
|
57
|
+
query = query.filter(ApiEvent.created_at < cursor_event.created_at)
|
|
58
|
+
|
|
49
59
|
events = query.limit(limit).all()
|
|
50
60
|
return [
|
|
51
61
|
fields.serialize_dict(
|
|
@@ -551,12 +551,12 @@ def _clear_empty_annotations(annotations):
|
|
|
551
551
|
]
|
|
552
552
|
|
|
553
553
|
|
|
554
|
-
def get_running_preview_files():
|
|
554
|
+
def get_running_preview_files(cursor_preview_file_id=None, limit=None):
|
|
555
555
|
"""
|
|
556
556
|
Return preview files for all productions with status equals to broken
|
|
557
|
-
or processing.
|
|
557
|
+
or processing using cursor-based pagination.
|
|
558
558
|
"""
|
|
559
|
-
|
|
559
|
+
query = (
|
|
560
560
|
PreviewFile.query.join(Task)
|
|
561
561
|
.join(Project)
|
|
562
562
|
.join(ProjectStatus, ProjectStatus.id == Project.project_status_id)
|
|
@@ -566,6 +566,21 @@ def get_running_preview_files():
|
|
|
566
566
|
.order_by(PreviewFile.created_at.desc())
|
|
567
567
|
)
|
|
568
568
|
|
|
569
|
+
if cursor_preview_file_id is not None:
|
|
570
|
+
cursor_preview_file = PreviewFile.query.get(cursor_preview_file_id)
|
|
571
|
+
if cursor_preview_file is None:
|
|
572
|
+
raise WrongParameterException(
|
|
573
|
+
f"No preview file found with id: {cursor_preview_file_id}"
|
|
574
|
+
)
|
|
575
|
+
query = query.filter(
|
|
576
|
+
PreviewFile.created_at < cursor_preview_file.created_at
|
|
577
|
+
)
|
|
578
|
+
|
|
579
|
+
if limit is not None:
|
|
580
|
+
query = query.limit(limit)
|
|
581
|
+
|
|
582
|
+
entries = query.all()
|
|
583
|
+
|
|
569
584
|
results = []
|
|
570
585
|
for preview_file, project_id, task_type_id, entity_id in entries:
|
|
571
586
|
result = preview_file.serialize()
|
zou-1.0.3/zou/__init__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.0.3"
|
{zou-1.0.3 → zou-1.0.4}/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{zou-1.0.3 → zou-1.0.4}/setup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|