zou 0.20.56__tar.gz → 0.20.58__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-0.20.56/zou.egg-info → zou-0.20.58}/PKG-INFO +2 -2
- {zou-0.20.56 → zou-0.20.58}/setup.cfg +1 -1
- zou-0.20.58/zou/__init__.py +1 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/previews/resources.py +2 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/task_status.py +6 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/comments_service.py +1 -4
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/tasks_service.py +5 -3
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/commands.py +1 -1
- {zou-0.20.56 → zou-0.20.58}/zou/event_stream.py +15 -7
- zou-0.20.58/zou/migrations/versions/4d585b6956f2_add_taskstatus_is_wip.py +87 -0
- {zou-0.20.56 → zou-0.20.58/zou.egg-info}/PKG-INFO +2 -2
- {zou-0.20.56 → zou-0.20.58}/zou.egg-info/SOURCES.txt +1 -0
- {zou-0.20.56 → zou-0.20.58}/zou.egg-info/requires.txt +1 -1
- zou-0.20.56/zou/__init__.py +0 -1
- {zou-0.20.56 → zou-0.20.58}/LICENSE +0 -0
- {zou-0.20.56 → zou-0.20.58}/README.rst +0 -0
- {zou-0.20.56 → zou-0.20.58}/pyproject.toml +0 -0
- {zou-0.20.56 → zou-0.20.58}/setup.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/api.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/assets/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/assets/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/auth/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/auth/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/breakdown/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/breakdown/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/chats/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/chats/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/comments/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/comments/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/concepts/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/concepts/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/asset_instance.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/attachment_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/base.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/budget.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/budget_entry.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/chat.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/chat_message.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/comments.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/custom_action.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/day_off.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/department.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/entity.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/entity_link.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/entity_type.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/event.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/file_status.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/metadata_descriptor.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/milestone.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/news.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/notification.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/organisation.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/output_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/output_type.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/person.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/playlist.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/plugin.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/preview_background_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/preview_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/project.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/project_status.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/salary_scale.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/schedule_item.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/search_filter.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/search_filter_group.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/software.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/status_automation.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/studio.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/subscription.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/task.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/task_status.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/task_type.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/time_spent.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/crud/working_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/edits/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/edits/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/entities/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/entities/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/events/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/events/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/assets.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/base.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/casting.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/edits.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/persons.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/playlists.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/projects.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/shots.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/task_types.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/tasks.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/export/csv/time_spents.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/files/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/files/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/index/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/index/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/news/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/news/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/persons/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/persons/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/playlists/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/playlists/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/previews/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/projects/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/projects/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/search/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/search/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/shots/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/shots/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/csv/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/csv/assets.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/csv/base.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/csv/casting.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/csv/edits.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/csv/persons.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/csv/shots.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/csv/task_type_estimations.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/kitsu.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/otio.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/assets.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/base.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/episode.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/exception.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/import_errors.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/notes.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/person.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/project.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/scene.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/sequence.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/shot.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/status.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/steps.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/tasks.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/team.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/source/shotgun/versions.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/tasks/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/tasks/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/user/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/blueprints/user/resources.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/config.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/file_trees/default.json +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/file_trees/simple.json +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/indexer/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/indexer/indexing.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/mixin.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/asset_instance.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/attachment_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/base.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/budget.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/budget_entry.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/build_job.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/chat.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/chat_message.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/comment.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/custom_action.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/data_import_error.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/day_off.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/department.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/desktop_login_log.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/entity.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/entity_type.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/event.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/file_status.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/login_log.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/metadata_descriptor.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/milestone.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/news.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/notification.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/organisation.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/output_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/output_type.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/person.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/playlist.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/plugin.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/preview_background_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/preview_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/project.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/project_status.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/salary_scale.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/schedule_item.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/search_filter.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/search_filter_group.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/serializer.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/software.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/status_automation.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/studio.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/subscription.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/task.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/task_type.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/time_spent.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/models/working_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/assets_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/auth_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/backup_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/base_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/breakdown_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/budget_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/chats_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/concepts_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/custom_actions_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/deletion_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/edits_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/emails_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/entities_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/events_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/exception.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/file_tree_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/files_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/index_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/names_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/news_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/notifications_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/persons_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/playlists_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/plugins_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/preview_files_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/projects_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/scenes_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/schedule_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/shots_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/stats_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/status_automations_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/sync_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/telemetry_services.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/time_spents_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/services/user_service.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/stores/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/stores/auth_tokens_store.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/stores/file_store.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/stores/publisher_store.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/stores/queue_store.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/swagger.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/api.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/auth.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/cache.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/chats.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/colors.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/csv_utils.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/date_helpers.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/dbhelpers.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/emails.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/env.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/events.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/fido.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/fields.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/flask.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/fs.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/git.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/logs.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/monitoring.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/permissions.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/plugins.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/query.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/redis.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/remote_job.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/saml.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/shell.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/string.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/app/utils/thumbnail.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/cli.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/debug.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/job_settings.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/README +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/alembic.ini +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/env.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/script.py.mako +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/utils/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/utils/base.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/003be8a91001_add_start_and_end_dates_to_projects.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/0596674df51d_add_department_mentions_to_comments.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/05ac7e8caa21_remove_unique_constraint_for_taskstatus_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/05b7dc79a416_add_archived_fields_to_main_tables.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/06552e22f9e7_add_comment_updated_by.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/0cf5e0e035fa_drop_column_tasktype_for_shots.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/0ec3762a745d_add_attachment_table.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/0ef6416a507b_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/10cf267d95c9_fix_schedule_item.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/16328eae4b5f_add_new_constraint_for_timespent.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/16df47d76c64_add_some_indexes.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/17ef8f7be758_disallow_null_choicetype.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/1bb55759146f_add_table_studio.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/1cb44194db49_add_file_size_field_to_preview_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/1e150c2cea4d_add_nb_entities_out.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/1e2d77a2f0c4_add_hd_by_default_column.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/1fab8c420678_add_attachments_to_message_chats.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/20a8ad264659_tasktypeassettypelink_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/20dfeb36142b_add_projecttaskstatuslink_roles_for_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/23122f290ca2_add_entity_chat_models.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/269d41bfb73f_add_entity_entity_links.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/2762a797f1f9_add_people_salary_information.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/29df910f04a4_create_unique_constraint_project_id_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/29fe01a6c9eb_add_status_automation_field.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/2adc020885fa_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/2baede80b111_add_entity_status_field.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/306266361f4f_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/307edd8c639d_change_comment_updated_by_in_comment_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/328fd44c6347_add_entity_created_by.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/32f134ff1201_add_is_shared_flag_to_filters.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/346250b5304c_add_position_to_preview_files.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/3476e147e632_add_acks_to_comments.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/389cfb9de776_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/38baa9a23b3d_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/398150912a3f_validation_status_preview.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/3b0d1321079e_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/3d5c93bafb9d_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/3e0538ddf80f_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/3fee3bd10f9d_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/4095103c7d01_add_is_clients_isolated_flag_to_projects.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/40dea9555940_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/42ec83db6a01_change_person_preferred_two_factor_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/43d0cf0ed5e7_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/443d1e78a932_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/45c2de366e66_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/45dafbb3f4e1_for_person_contract_type_disallow_null.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/45f739ef962a_add_people_salary_scale_table.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/4715c2586036_add_last_preview_file_fields.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/4aab1f84ad72_introduce_plugin_table.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/4e3738cdc34c_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/4f2398ebcd49_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/523ee9647bee_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/539a3a00c417_for_departmentlink_index_person_id_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/54ee0d1d60ba_add_build_job_model.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/556526e47daa_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/57222395f2be_add_statusautomation_import_last_revision.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/5798d2c9020b_change_person_role_to_choicetype.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/590aa1ffe731_add_notifications_enabled_flag.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/59a7445a966c_add_entity_is_shared.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/5a291251823c_add_max_retake_parameter.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/5ab9d7a75887_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/5b0fcbb94f24_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/5b7fa3e51701_add_is_client_allowed_flag_to_task_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/5b980f0dc365_add_comment_links.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/5b9fd9ddfe43_add_homepage_and_contract_fields.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/5c0498e264bc_add_slack_fields.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/5e2ce62632a6_add_workflow_to_project.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/680c64565f9d_for_searchfiltergroup_is_shared.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/693cc511d28d_add_taskstatus_priority.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/6aa446ee4072_add_is_for_all_flage_to_playlists.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/6bd3b102d61b_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/6c597e842afa_add_task_type_field_to_playlists.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/6d1b2c60f58b_add_milestone_model.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/6d7fa5a8e9a5_add_timesheets_locked_field_to_org.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/6eeaff945706_add_data_field_on_entity_links.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/6f6049877105_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/7417c8eb70d8_add_for_entity_field_to_playlists.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/772a5e43f05b_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/7748d3d22925_add_columns_to_searchfilter_table_to_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/77d6820f494f_add_reply_to_notif.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/7a16258f2fab_add_currency_field_to_budgets.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/7b1f765677d8_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/7bc746997e8d_add_slack_token_field_to_organisation.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/7dc79d4ed7cd_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/818f7bda2528_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/82e7f7a95e84_add_project_id_to_events.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/82ee682204ab_add_is_generated_from_ldap_column_to_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/83e2f33a9b14_add_project_bugdet_table.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/8588f254d6b8_add_archived_fields.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/8739ae9fa28b_add_for_client_field.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/87efceb6745b_add_ready_for_to_entity.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/892b264937ec_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/8a1b4a1b7f4a_add_totp_columns_for_person.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/8ab98c178903_add_budget_entry_table.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/8e4f39e321f4_add_day_off_table.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/8e67c183bed7_add_preference_fields.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/8fbd40afbe5f_allow_to_set_float_values_for_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/9010a64e5a2d_add_indices.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/9060dd4f6116_notification_uc.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/925771029620_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/92b40d79ad3f_allow_message_attachments.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/92bdfe07e5f5_discord_integration.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/956659992419_add_columns_for_person_to_store_fido_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/96c79d31e648_add_mail_otp_columns_for_person.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/96f58a4a2a58_person_partial_index_for_email_only_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/971dbf5a0faf_add_short_name_for_asset_type_entity_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/98c90621cf58_add_for_client_flag_to_playlist.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/99825b9cc778_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/9a09467f9b2c_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/9b85c14fa8a7_add_day_off_new_columns.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/9bd17364fc18_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/9d3bb33c6fc6_add_department_keys_to_filter_models.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/9e5b3a9b0cee_add_new_column_metadatadescriptor_data_type_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/9f8445f9b42c_add_man_days_fields.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/a23682ccc1f1_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/a252a094e977_add_descriptions_for_entities_tasks_and_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/a519c710877c_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/a65bdadbae2f_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/a66508788c53_add_nb_assets_ready.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/a6c25eed3ea1_add_login_failed_attemps_and_last_login_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/a7c43f3fbc76_add_duration_column_to_the_preview_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/aa0a60033106_feedback_request.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/addbad59c706_allow_to_manage_drawings_instead_of_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/addbbefa7028_add_departments_link_to_metadata_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/ae0127f2fc56_add_previewfile_width_and_previewfile_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/af1790868e2c_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/b45cb782bb9c_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/b4dd0add5f79_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/b8c0a0f9d054_drop_task_status_is_reviewable.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/b8ed0fb263f8_add_person_jti_and_jti_expiration_date.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/b97a71306fc8_add_is_casting_standby_column_to_entity.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/be56dc0fb760_for_is_shared_disallow_nullable.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/bf1347acdee2_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/c49e41f1298b_add_previewbackground.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/c68c2a62cfac_add_mimetype_column_to_attachment.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/c726b98be194_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/c81f3e83bdb5_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/ca28796a2a62_add_is_done_field_to_the_task_model.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/cf3d365de164_add_entity_version_model.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/cf6cec6d6bf5_add_status_field_to_preview_file.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/d25118cddcaa_modify_salary_scale_model.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/d80267806131_task_status_new_column_is_default.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/d80f02824047_add_plugin_revision.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/d8dcd5196d57_add_casting_label.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/de8a3de227ef_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/deeacd38d373_for_projecttaskstatuslink_set_default_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/df1834485f57_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/df9f8a147e80_change_file_size_to_big_integer.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/e1ef93f40d3d_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/e29638428dfd_add_schedule_item_table.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/e3f6db74cc1e_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/e7e633bd6fa2_add_exceptions_to_budget_entries.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/e839d6603c09_add_person_id_to_shot_history.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/ee2373fbe3a4_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/f0567e8d0c62_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/f0c6cbb61869_add_production_style_field.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/f344b867a911_for_description_of_entity_task_working_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/f4ff5a73d283_add_person_ldap_uid.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/f5b113876a49_add_preferred_two_factor_authentication_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/f5bdca075cdc_add_preview_download_flag_to_projects.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/f874ad5e898a_add_link_entity_type_task_type.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/f995b28fb749_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/fb6b6f188497_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/fb87feaaa094_add_missing_unique_constraints.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/fba149993140_add_missing_index.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/fc322f908695_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/fee7c696166e_.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/feffd3c5b806_introduce_concepts.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/migrations/versions/ffeed4956ab1_add_more_details_to_projects.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/plugin_template/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/plugin_template/migrations/alembic.ini +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/plugin_template/migrations/env.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/plugin_template/migrations/script.py.mako +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/plugin_template/models.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/plugin_template/routes.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/remote/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/remote/config_payload.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/remote/normalize_movie.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/remote/playlist.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/utils/__init__.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou/utils/movie.py +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou.egg-info/dependency_links.txt +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou.egg-info/entry_points.txt +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou.egg-info/not-zip-safe +0 -0
- {zou-0.20.56 → zou-0.20.58}/zou.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: zou
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.58
|
|
4
4
|
Summary: API to store and manage the data of your animation production
|
|
5
5
|
Home-page: https://zou.cg-wire.com
|
|
6
6
|
Author: CG Wire
|
|
@@ -89,7 +89,7 @@ Requires-Dist: pytest==8.4.1; extra == "test"
|
|
|
89
89
|
Provides-Extra: monitoring
|
|
90
90
|
Requires-Dist: prometheus-flask-exporter==0.23.2; extra == "monitoring"
|
|
91
91
|
Requires-Dist: pygelf==0.4.3; extra == "monitoring"
|
|
92
|
-
Requires-Dist: sentry-sdk==2.
|
|
92
|
+
Requires-Dist: sentry-sdk==2.32.0; extra == "monitoring"
|
|
93
93
|
Provides-Extra: lint
|
|
94
94
|
Requires-Dist: autoflake==2.3.1; extra == "lint"
|
|
95
95
|
Requires-Dist: black==25.1.0; extra == "lint"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.20.58"
|
|
@@ -25,6 +25,12 @@ class TaskStatus(db.Model, BaseMixin, SerializerMixin):
|
|
|
25
25
|
is_retake = db.Column(db.Boolean(), default=False)
|
|
26
26
|
is_feedback_request = db.Column(db.Boolean(), default=False, index=True)
|
|
27
27
|
is_default = db.Column(db.Boolean(), default=False, index=True)
|
|
28
|
+
is_wip = db.Column(
|
|
29
|
+
db.Boolean(),
|
|
30
|
+
server_default=expression.false(),
|
|
31
|
+
default=False,
|
|
32
|
+
index=True,
|
|
33
|
+
)
|
|
28
34
|
shotgun_id = db.Column(db.Integer)
|
|
29
35
|
|
|
30
36
|
for_concept = db.Column(
|
|
@@ -159,10 +159,7 @@ def _manage_status_change(task_status, task, comment):
|
|
|
159
159
|
if task_status["is_feedback_request"]:
|
|
160
160
|
new_data["end_date"] = date_helpers.get_utc_now_datetime()
|
|
161
161
|
|
|
162
|
-
if
|
|
163
|
-
task_status["short_name"] == "wip"
|
|
164
|
-
and task["real_start_date"] is None
|
|
165
|
-
):
|
|
162
|
+
if task_status["is_wip"] and task["real_start_date"] is None:
|
|
166
163
|
new_data["real_start_date"] = datetime.datetime.now(
|
|
167
164
|
datetime.timezone.utc
|
|
168
165
|
)
|
|
@@ -1305,6 +1305,7 @@ def get_or_create_status(
|
|
|
1305
1305
|
is_retake=False,
|
|
1306
1306
|
is_feedback_request=False,
|
|
1307
1307
|
is_default=False,
|
|
1308
|
+
is_wip=False,
|
|
1308
1309
|
for_concept=False,
|
|
1309
1310
|
is_artist_allowed=True,
|
|
1310
1311
|
is_client_allowed=True,
|
|
@@ -1336,6 +1337,7 @@ def get_or_create_status(
|
|
|
1336
1337
|
for_concept=for_concept,
|
|
1337
1338
|
is_artist_allowed=is_artist_allowed,
|
|
1338
1339
|
is_client_allowed=is_client_allowed,
|
|
1340
|
+
is_wip=is_wip,
|
|
1339
1341
|
)
|
|
1340
1342
|
events.emit("task-status:new", {"task_status_id": task_status.id})
|
|
1341
1343
|
return task_status.serialize()
|
|
@@ -1792,7 +1794,7 @@ def reset_task_data(task_id):
|
|
|
1792
1794
|
TaskStatus.is_retake,
|
|
1793
1795
|
TaskStatus.is_feedback_request,
|
|
1794
1796
|
TaskStatus.is_done,
|
|
1795
|
-
TaskStatus.
|
|
1797
|
+
TaskStatus.is_wip,
|
|
1796
1798
|
)
|
|
1797
1799
|
.all()
|
|
1798
1800
|
)
|
|
@@ -1803,13 +1805,13 @@ def reset_task_data(task_id):
|
|
|
1803
1805
|
task_status_is_retake,
|
|
1804
1806
|
task_status_is_feedback_request,
|
|
1805
1807
|
task_status_is_done,
|
|
1806
|
-
|
|
1808
|
+
task_status_is_wip,
|
|
1807
1809
|
) in comments:
|
|
1808
1810
|
if task_status_is_retake and not previous_is_retake:
|
|
1809
1811
|
retake_count += 1
|
|
1810
1812
|
previous_is_retake = task_status_is_retake
|
|
1811
1813
|
|
|
1812
|
-
if
|
|
1814
|
+
if task_status_is_wip and real_start_date is None:
|
|
1813
1815
|
real_start_date = comment.created_at
|
|
1814
1816
|
|
|
1815
1817
|
if task_status_is_feedback_request:
|
|
@@ -168,7 +168,7 @@ def init_data():
|
|
|
168
168
|
|
|
169
169
|
tasks_service.get_default_status()
|
|
170
170
|
tasks_service.get_or_create_status(
|
|
171
|
-
"Work In Progress", "wip", "#3273dc"
|
|
171
|
+
"Work In Progress", "wip", "#3273dc", is_wip=True
|
|
172
172
|
)
|
|
173
173
|
tasks_service.get_or_create_status(
|
|
174
174
|
"Waiting For Approval", "wfa", "#ab26ff", is_feedback_request=True
|
|
@@ -54,7 +54,7 @@ def _get_empty_room(current_frame=0):
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
def _get_room_from_data(data):
|
|
57
|
-
room_id = data
|
|
57
|
+
room_id = data.get("playlist_id", "0")
|
|
58
58
|
return rooms_data.get(room_id, _get_empty_room()), room_id
|
|
59
59
|
|
|
60
60
|
|
|
@@ -80,7 +80,7 @@ def _emit_people_updated(room_id, people):
|
|
|
80
80
|
|
|
81
81
|
|
|
82
82
|
def _update_room_playing_status(data, room):
|
|
83
|
-
room["playlist_id"] = data.get("playlist_id",
|
|
83
|
+
room["playlist_id"] = data.get("playlist_id", "")
|
|
84
84
|
room["user_id"] = data.get("user_id", False)
|
|
85
85
|
room["local_id"] = data.get("local_id", False)
|
|
86
86
|
room["is_playing"] = data.get("is_playing", False)
|
|
@@ -228,38 +228,46 @@ def on_room_updated(data, only_newcomer=False):
|
|
|
228
228
|
@socketio.on("preview-room:add-annotation", namespace="/events")
|
|
229
229
|
@jwt_required()
|
|
230
230
|
def on_add_annotation(data):
|
|
231
|
-
room_id = data
|
|
231
|
+
room_id = data.get("playlist_id", "")
|
|
232
232
|
emit("preview-room:add-annotation", data, room=room_id)
|
|
233
233
|
|
|
234
234
|
|
|
235
235
|
@socketio.on("preview-room:remove-annotation", namespace="/events")
|
|
236
236
|
@jwt_required()
|
|
237
237
|
def on_remove_annotation(data):
|
|
238
|
-
room_id = data
|
|
238
|
+
room_id = data.get("playlist_id", "")
|
|
239
239
|
emit("preview-room:remove-annotation", data, room=room_id)
|
|
240
240
|
|
|
241
241
|
|
|
242
242
|
@socketio.on("preview-room:update-annotation", namespace="/events")
|
|
243
243
|
@jwt_required()
|
|
244
244
|
def on_update_annotation(data):
|
|
245
|
-
room_id = data
|
|
245
|
+
room_id = data.get("playlist_id", "")
|
|
246
246
|
emit("preview-room:update-annotation", data, room=room_id)
|
|
247
247
|
|
|
248
248
|
|
|
249
249
|
@socketio.on("preview-room:change-version", namespace="/events")
|
|
250
250
|
@jwt_required()
|
|
251
251
|
def on_change_version(data):
|
|
252
|
-
room_id = data
|
|
252
|
+
room_id = data.get("playlist_id", "")
|
|
253
253
|
emit("preview-room:change-version", data, room=room_id)
|
|
254
254
|
|
|
255
255
|
|
|
256
256
|
@socketio.on("preview-room:panzoom-changed", namespace="/events")
|
|
257
257
|
@jwt_required()
|
|
258
258
|
def on_change_version(data):
|
|
259
|
-
room_id = data
|
|
259
|
+
room_id = data.get("playlist_id", "")
|
|
260
260
|
emit("preview-room:panzoom-changed", data, room=room_id)
|
|
261
261
|
|
|
262
262
|
|
|
263
|
+
@socketio.on("preview-room:comparison-panzoom-changed", namespace="/events")
|
|
264
|
+
@jwt_required()
|
|
265
|
+
def on_change_version(data):
|
|
266
|
+
room_id = data.get("playlist_id", "")
|
|
267
|
+
emit("preview-room:comparison-panzoom-changed", data, room=room_id)
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
263
271
|
if __name__ == "__main__":
|
|
264
272
|
socketio.run(
|
|
265
273
|
app,
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"""Add TaskStatus.is_wip
|
|
2
|
+
|
|
3
|
+
Revision ID: 4d585b6956f2
|
|
4
|
+
Revises: d80f02824047
|
|
5
|
+
Create Date: 2025-06-30 01:11:29.146591
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from alembic import op
|
|
10
|
+
import sqlalchemy as sa
|
|
11
|
+
from alembic import op
|
|
12
|
+
import sqlalchemy as sa
|
|
13
|
+
from sqlalchemy.orm.session import Session
|
|
14
|
+
from sqlalchemy.ext.declarative import declarative_base
|
|
15
|
+
from zou.migrations.utils.base import BaseMixin
|
|
16
|
+
from sqlalchemy.sql import expression
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# revision identifiers, used by Alembic.
|
|
20
|
+
revision = "4d585b6956f2"
|
|
21
|
+
down_revision = "d80f02824047"
|
|
22
|
+
branch_labels = None
|
|
23
|
+
depends_on = None
|
|
24
|
+
|
|
25
|
+
base = declarative_base()
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class TaskStatus(base, BaseMixin):
|
|
29
|
+
"""
|
|
30
|
+
Describe the state of a task. A status marked as reviewable expects a
|
|
31
|
+
preview file linked to relate comment.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
__tablename__ = "task_status"
|
|
35
|
+
name = sa.Column(sa.String(40), nullable=False)
|
|
36
|
+
archived = sa.Column(sa.Boolean(), default=False)
|
|
37
|
+
short_name = sa.Column(
|
|
38
|
+
sa.String(10), unique=True, nullable=False, index=True
|
|
39
|
+
)
|
|
40
|
+
description = sa.Column(sa.Text())
|
|
41
|
+
color = sa.Column(sa.String(7), nullable=False)
|
|
42
|
+
priority = sa.Column(sa.Integer, default=1)
|
|
43
|
+
|
|
44
|
+
is_done = sa.Column(sa.Boolean(), default=False, index=True)
|
|
45
|
+
is_artist_allowed = sa.Column(sa.Boolean(), default=True)
|
|
46
|
+
is_client_allowed = sa.Column(sa.Boolean(), default=True)
|
|
47
|
+
is_retake = sa.Column(sa.Boolean(), default=False)
|
|
48
|
+
is_feedback_request = sa.Column(sa.Boolean(), default=False, index=True)
|
|
49
|
+
is_default = sa.Column(sa.Boolean(), default=False, index=True)
|
|
50
|
+
is_wip = sa.Column(
|
|
51
|
+
sa.Boolean(),
|
|
52
|
+
server_default=expression.false(),
|
|
53
|
+
default=False,
|
|
54
|
+
index=True,
|
|
55
|
+
)
|
|
56
|
+
shotgun_id = sa.Column(sa.Integer)
|
|
57
|
+
|
|
58
|
+
for_concept = sa.Column(
|
|
59
|
+
sa.Boolean(), server_default=expression.false(), default=False
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def upgrade():
|
|
64
|
+
# ### commands auto generated by Alembic - please adjust! ###
|
|
65
|
+
with op.batch_alter_table("task_status", schema=None) as batch_op:
|
|
66
|
+
batch_op.add_column(sa.Column("is_wip", sa.Boolean(), nullable=True))
|
|
67
|
+
batch_op.create_index(
|
|
68
|
+
batch_op.f("ix_task_status_is_wip"), ["is_wip"], unique=False
|
|
69
|
+
)
|
|
70
|
+
session = Session(bind=op.get_bind())
|
|
71
|
+
session.query(TaskStatus).update(
|
|
72
|
+
{
|
|
73
|
+
TaskStatus.is_wip: TaskStatus.short_name == "wip",
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
session.commit()
|
|
77
|
+
|
|
78
|
+
# ### end Alembic commands ###
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def downgrade():
|
|
82
|
+
# ### commands auto generated by Alembic - please adjust! ###
|
|
83
|
+
with op.batch_alter_table("task_status", schema=None) as batch_op:
|
|
84
|
+
batch_op.drop_index(batch_op.f("ix_task_status_is_wip"))
|
|
85
|
+
batch_op.drop_column("is_wip")
|
|
86
|
+
|
|
87
|
+
# ### end Alembic commands ###
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: zou
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.58
|
|
4
4
|
Summary: API to store and manage the data of your animation production
|
|
5
5
|
Home-page: https://zou.cg-wire.com
|
|
6
6
|
Author: CG Wire
|
|
@@ -89,7 +89,7 @@ Requires-Dist: pytest==8.4.1; extra == "test"
|
|
|
89
89
|
Provides-Extra: monitoring
|
|
90
90
|
Requires-Dist: prometheus-flask-exporter==0.23.2; extra == "monitoring"
|
|
91
91
|
Requires-Dist: pygelf==0.4.3; extra == "monitoring"
|
|
92
|
-
Requires-Dist: sentry-sdk==2.
|
|
92
|
+
Requires-Dist: sentry-sdk==2.32.0; extra == "monitoring"
|
|
93
93
|
Provides-Extra: lint
|
|
94
94
|
Requires-Dist: autoflake==2.3.1; extra == "lint"
|
|
95
95
|
Requires-Dist: black==25.1.0; extra == "lint"
|
|
@@ -326,6 +326,7 @@ zou/migrations/versions/45dafbb3f4e1_for_person_contract_type_disallow_null.py
|
|
|
326
326
|
zou/migrations/versions/45f739ef962a_add_people_salary_scale_table.py
|
|
327
327
|
zou/migrations/versions/4715c2586036_add_last_preview_file_fields.py
|
|
328
328
|
zou/migrations/versions/4aab1f84ad72_introduce_plugin_table.py
|
|
329
|
+
zou/migrations/versions/4d585b6956f2_add_taskstatus_is_wip.py
|
|
329
330
|
zou/migrations/versions/4e3738cdc34c_.py
|
|
330
331
|
zou/migrations/versions/4f2398ebcd49_.py
|
|
331
332
|
zou/migrations/versions/523ee9647bee_.py
|
zou-0.20.56/zou/__init__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.20.56"
|
|
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
|