zou 0.20.82__py3-none-any.whl → 0.20.84__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. zou/__init__.py +1 -1
  2. zou/app/blueprints/assets/resources.py +1060 -153
  3. zou/app/blueprints/auth/resources.py +368 -238
  4. zou/app/blueprints/breakdown/resources.py +584 -94
  5. zou/app/blueprints/chats/resources.py +176 -37
  6. zou/app/blueprints/comments/resources.py +409 -150
  7. zou/app/blueprints/concepts/resources.py +443 -63
  8. zou/app/blueprints/crud/asset_instance.py +272 -0
  9. zou/app/blueprints/crud/attachment_file.py +263 -0
  10. zou/app/blueprints/crud/base.py +176 -69
  11. zou/app/blueprints/crud/budget.py +278 -0
  12. zou/app/blueprints/crud/budget_entry.py +269 -0
  13. zou/app/blueprints/crud/chat.py +282 -0
  14. zou/app/blueprints/crud/chat_message.py +286 -0
  15. zou/app/blueprints/crud/comments.py +312 -1
  16. zou/app/blueprints/crud/custom_action.py +268 -0
  17. zou/app/blueprints/crud/day_off.py +298 -0
  18. zou/app/blueprints/crud/department.py +268 -0
  19. zou/app/blueprints/crud/entity.py +297 -3
  20. zou/app/blueprints/crud/entity_link.py +303 -0
  21. zou/app/blueprints/crud/entity_type.py +269 -0
  22. zou/app/blueprints/crud/event.py +197 -0
  23. zou/app/blueprints/crud/file_status.py +268 -0
  24. zou/app/blueprints/crud/hardware_item.py +268 -0
  25. zou/app/blueprints/crud/metadata_descriptor.py +312 -0
  26. zou/app/blueprints/crud/milestone.py +302 -1
  27. zou/app/blueprints/crud/news.py +285 -0
  28. zou/app/blueprints/crud/notification.py +287 -0
  29. zou/app/blueprints/crud/organisation.py +269 -0
  30. zou/app/blueprints/crud/output_file.py +34 -10
  31. zou/app/blueprints/crud/output_type.py +30 -10
  32. zou/app/blueprints/crud/person.py +407 -2
  33. zou/app/blueprints/crud/playlist.py +322 -4
  34. zou/app/blueprints/crud/plugin.py +269 -0
  35. zou/app/blueprints/crud/preview_background_file.py +272 -0
  36. zou/app/blueprints/crud/preview_file.py +280 -9
  37. zou/app/blueprints/crud/production_schedule_version.py +569 -0
  38. zou/app/blueprints/crud/project.py +440 -0
  39. zou/app/blueprints/crud/project_status.py +268 -0
  40. zou/app/blueprints/crud/salary_scale.py +185 -5
  41. zou/app/blueprints/crud/schedule_item.py +305 -0
  42. zou/app/blueprints/crud/search_filter.py +302 -0
  43. zou/app/blueprints/crud/search_filter_group.py +270 -0
  44. zou/app/blueprints/crud/software.py +30 -10
  45. zou/app/blueprints/crud/status_automation.py +296 -2
  46. zou/app/blueprints/crud/studio.py +268 -0
  47. zou/app/blueprints/crud/subscription.py +279 -0
  48. zou/app/blueprints/crud/task.py +325 -5
  49. zou/app/blueprints/crud/task_status.py +301 -0
  50. zou/app/blueprints/crud/task_type.py +283 -0
  51. zou/app/blueprints/crud/time_spent.py +327 -0
  52. zou/app/blueprints/crud/working_file.py +273 -10
  53. zou/app/blueprints/departments/resources.py +302 -68
  54. zou/app/blueprints/edits/resources.py +651 -81
  55. zou/app/blueprints/entities/resources.py +104 -39
  56. zou/app/blueprints/events/resources.py +96 -8
  57. zou/app/blueprints/export/csv/assets.py +15 -5
  58. zou/app/blueprints/export/csv/base.py +12 -3
  59. zou/app/blueprints/export/csv/casting.py +32 -5
  60. zou/app/blueprints/export/csv/edits.py +15 -5
  61. zou/app/blueprints/export/csv/persons.py +24 -0
  62. zou/app/blueprints/export/csv/playlists.py +16 -5
  63. zou/app/blueprints/export/csv/projects.py +23 -0
  64. zou/app/blueprints/export/csv/shots.py +15 -5
  65. zou/app/blueprints/export/csv/task_types.py +23 -0
  66. zou/app/blueprints/export/csv/tasks.py +24 -0
  67. zou/app/blueprints/export/csv/time_spents.py +24 -0
  68. zou/app/blueprints/files/resources.py +928 -377
  69. zou/app/blueprints/index/resources.py +49 -42
  70. zou/app/blueprints/news/resources.py +47 -27
  71. zou/app/blueprints/persons/resources.py +644 -271
  72. zou/app/blueprints/playlists/resources.py +154 -72
  73. zou/app/blueprints/previews/resources.py +473 -228
  74. zou/app/blueprints/projects/__init__.py +5 -0
  75. zou/app/blueprints/projects/resources.py +987 -420
  76. zou/app/blueprints/search/resources.py +44 -32
  77. zou/app/blueprints/shots/resources.py +1338 -88
  78. zou/app/blueprints/source/csv/assets.py +44 -6
  79. zou/app/blueprints/source/csv/casting.py +43 -6
  80. zou/app/blueprints/source/csv/edits.py +47 -9
  81. zou/app/blueprints/source/csv/persons.py +43 -4
  82. zou/app/blueprints/source/csv/shots.py +47 -6
  83. zou/app/blueprints/source/csv/task_type_estimations.py +95 -35
  84. zou/app/blueprints/source/kitsu.py +433 -11
  85. zou/app/blueprints/source/otio.py +215 -20
  86. zou/app/blueprints/source/shotgun/assets.py +146 -0
  87. zou/app/blueprints/source/shotgun/base.py +85 -14
  88. zou/app/blueprints/source/shotgun/episode.py +124 -0
  89. zou/app/blueprints/source/shotgun/import_errors.py +105 -14
  90. zou/app/blueprints/source/shotgun/notes.py +132 -0
  91. zou/app/blueprints/source/shotgun/person.py +163 -0
  92. zou/app/blueprints/source/shotgun/project.py +120 -0
  93. zou/app/blueprints/source/shotgun/scene.py +120 -0
  94. zou/app/blueprints/source/shotgun/sequence.py +134 -0
  95. zou/app/blueprints/source/shotgun/shot.py +166 -0
  96. zou/app/blueprints/source/shotgun/status.py +129 -0
  97. zou/app/blueprints/source/shotgun/steps.py +138 -0
  98. zou/app/blueprints/source/shotgun/tasks.py +199 -0
  99. zou/app/blueprints/source/shotgun/team.py +132 -0
  100. zou/app/blueprints/source/shotgun/versions.py +155 -0
  101. zou/app/blueprints/tasks/resources.py +1197 -308
  102. zou/app/blueprints/user/resources.py +1808 -215
  103. zou/app/models/metadata_descriptor.py +1 -0
  104. zou/app/services/persons_service.py +1 -1
  105. zou/app/services/projects_service.py +45 -1
  106. zou/app/services/time_spents_service.py +1 -1
  107. zou/app/swagger.py +100 -27
  108. zou/migrations/versions/a1b2c3d4e5f6_add_position_to_metadata_descriptor.py +32 -0
  109. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/METADATA +18 -18
  110. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/RECORD +114 -113
  111. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/WHEEL +0 -0
  112. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/entry_points.txt +0 -0
  113. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/licenses/LICENSE +0 -0
  114. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,5 @@
1
1
  from zou.app.blueprints.export.csv.base import BaseCsvExport
2
+ from flask_jwt_extended import jwt_required
2
3
 
3
4
  from zou.app.models.project_status import ProjectStatus
4
5
  from zou.app.models.project import Project
@@ -8,6 +9,28 @@ class ProjectsCsvExport(BaseCsvExport):
8
9
  def __init__(self):
9
10
  BaseCsvExport.__init__(self)
10
11
 
12
+ @jwt_required()
13
+ def get(self):
14
+ """
15
+ Export projects csv
16
+ ---
17
+ tags:
18
+ - Export
19
+ description: Export projects as CSV file. Includes project name
20
+ and status information.
21
+ produces:
22
+ - text/csv
23
+ responses:
24
+ 200:
25
+ description: Projects exported as CSV successfully
26
+ content:
27
+ text/csv:
28
+ schema:
29
+ type: string
30
+ example: "Name,Status\nProject A,Active\nProject B,Open"
31
+ """
32
+ return super().get()
33
+
11
34
  def build_headers(self):
12
35
  return ["Name", "Status"]
13
36
 
@@ -17,20 +17,30 @@ class ShotsCsvExport(Resource):
17
17
  @jwt_required()
18
18
  def get(self, project_id):
19
19
  """
20
- Export shots linked to a given project as csv.
20
+ Export shots csv
21
21
  ---
22
22
  tags:
23
23
  - Export
24
+ description: Export project shots as CSV file. Includes shot
25
+ information, frames, task statuses, assignments, and metadata.
26
+ produces:
27
+ - text/csv
24
28
  parameters:
25
29
  - in: path
26
30
  name: project_id
27
- required: True
28
- type: string
29
- format: uuid
31
+ required: true
32
+ schema:
33
+ type: string
34
+ format: uuid
30
35
  example: a24a6ea4-ce75-4665-a070-57453082c25
31
36
  responses:
32
37
  200:
33
- description: Shots exported as csv
38
+ description: Shots exported as CSV successfully
39
+ content:
40
+ text/csv:
41
+ schema:
42
+ type: string
43
+ example: "Project,Episode,Sequence,Name,Description,Time Spent,Frames,Frame In,Frame Out,FPS\nProject A,EP01,SQ01,SH010,Description,5.25,120,1001,1120,24"
34
44
  """
35
45
  project = projects_service.get_project(project_id)
36
46
  self.check_permissions(project["id"])
@@ -1,4 +1,5 @@
1
1
  from zou.app.blueprints.export.csv.base import BaseCsvExport
2
+ from flask_jwt_extended import jwt_required
2
3
 
3
4
  from zou.app.models.department import Department
4
5
  from zou.app.models.task_type import TaskType
@@ -10,6 +11,28 @@ class TaskTypesCsvExport(BaseCsvExport):
10
11
 
11
12
  self.name = "task_types_export"
12
13
 
14
+ @jwt_required()
15
+ def get(self):
16
+ """
17
+ Export task types csv
18
+ ---
19
+ tags:
20
+ - Export
21
+ description: Export task types as CSV file. Includes department
22
+ and task type name information.
23
+ produces:
24
+ - text/csv
25
+ responses:
26
+ 200:
27
+ description: Task types exported as CSV successfully
28
+ content:
29
+ text/csv:
30
+ schema:
31
+ type: string
32
+ example: "Department,Name\nAnimation,Animation\nModeling,Modeling"
33
+ """
34
+ return super().get()
35
+
13
36
  def build_headers(self):
14
37
  return ["Department", "Name"]
15
38
 
@@ -1,4 +1,5 @@
1
1
  from zou.app.blueprints.export.csv.base import BaseCsvExport
2
+ from flask_jwt_extended import jwt_required
2
3
  from sqlalchemy.orm import aliased
3
4
 
4
5
  from zou.app.models.task_status import TaskStatus
@@ -18,6 +19,29 @@ class TasksCsvExport(BaseCsvExport):
18
19
 
19
20
  self.file_name = "tasks_export"
20
21
 
22
+ @jwt_required()
23
+ def get(self):
24
+ """
25
+ Export tasks csv
26
+ ---
27
+ tags:
28
+ - Export
29
+ description: Export tasks as CSV file. Includes tasks from open
30
+ projects with project, task type, episode, sequence, entity,
31
+ assigner, assignees, dates, duration, estimation, and status.
32
+ produces:
33
+ - text/csv
34
+ responses:
35
+ 200:
36
+ description: Tasks exported as CSV successfully
37
+ content:
38
+ text/csv:
39
+ schema:
40
+ type: string
41
+ example: "Project,Task Type,Episode,Sequence,Entity Type,Entity,Assigner,Assignees,Duration,Estimation,Start date,Due date,WIP date,Validation date,Task Status\nProject A,Animation,EP01,SQ01,Shot,SH010,John Doe,Jane Doe,480,600,2024-01-01,2024-01-15,2024-01-05,2024-01-20,WIP"
42
+ """
43
+ return super().get()
44
+
21
45
  def build_headers(self):
22
46
  return [
23
47
  "Project",
@@ -1,4 +1,5 @@
1
1
  from zou.app.blueprints.export.csv.base import BaseCsvExport
2
+ from flask_jwt_extended import jwt_required
2
3
 
3
4
  from zou.app.models.entity import Entity
4
5
  from zou.app.models.entity_type import EntityType
@@ -17,6 +18,29 @@ class TimeSpentsCsvExport(BaseCsvExport):
17
18
  def __init__(self):
18
19
  BaseCsvExport.__init__(self)
19
20
 
21
+ @jwt_required()
22
+ def get(self):
23
+ """
24
+ Export time spents csv
25
+ ---
26
+ tags:
27
+ - Export
28
+ description: Export time spent records as CSV file. Includes time
29
+ spent entries for open projects with project, person, entity,
30
+ task type, date, and duration information.
31
+ produces:
32
+ - text/csv
33
+ responses:
34
+ 200:
35
+ description: Time spents exported as CSV successfully
36
+ content:
37
+ text/csv:
38
+ schema:
39
+ type: string
40
+ example: "Project,Person,Entity Type Name,Entity,Task Type,Date,Time spent\nProject A,John Doe,Shot,SH010,Animation,2024-01-15,480"
41
+ """
42
+ return super().get()
43
+
20
44
  def prepare_import(self):
21
45
  user = persons_service.get_current_user()
22
46
  date = date_helpers.get_today_string_with_timezone(user["timezone"])