zou 0.19.70__py3-none-any.whl → 0.19.72__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.
zou/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.19.70"
1
+ __version__ = "0.19.72"
@@ -14,6 +14,7 @@ from flask_jwt_extended import (
14
14
  set_access_cookies,
15
15
  set_refresh_cookies,
16
16
  unset_jwt_cookies,
17
+ unset_refresh_cookies,
17
18
  get_jwt,
18
19
  )
19
20
 
@@ -388,6 +389,7 @@ class RefreshTokenResource(Resource):
388
389
  if is_from_browser(request.user_agent):
389
390
  response = jsonify({"refresh": True})
390
391
  set_access_cookies(response, access_token)
392
+ unset_refresh_cookies(response)
391
393
  else:
392
394
  return {"access_token": access_token}
393
395
 
@@ -11,7 +11,6 @@ from zou.app import config
11
11
  from zou.app.mixin import ArgsMixin
12
12
  from zou.app.stores import file_store
13
13
  from zou.app.services import (
14
- assets_service,
15
14
  comments_service,
16
15
  chats_service,
17
16
  deletion_service,
@@ -21,7 +20,6 @@ from zou.app.services import (
21
20
  persons_service,
22
21
  projects_service,
23
22
  preview_files_service,
24
- shots_service,
25
23
  tasks_service,
26
24
  user_service,
27
25
  )
@@ -1111,13 +1109,11 @@ class SetMainPreviewResource(Resource, ArgsMixin):
1111
1109
  preview_files_service.replace_extracted_frame_for_preview_file(
1112
1110
  preview_file, frame_number
1113
1111
  )
1114
- asset = entities_service.update_entity_preview(
1112
+ entity = entities_service.update_entity_preview(
1115
1113
  task["entity_id"],
1116
1114
  preview_file_id,
1117
1115
  )
1118
- assets_service.clear_asset_cache(asset["id"])
1119
- shots_service.clear_shot_cache(asset["id"])
1120
- return asset
1116
+ return entity
1121
1117
 
1122
1118
 
1123
1119
  class UpdatePreviewPositionResource(Resource, ArgsMixin):
@@ -1609,16 +1609,10 @@ class SetTaskMainPreviewResource(Resource):
1609
1609
  preview_file = preview_files_service.get_last_preview_file_for_task(
1610
1610
  task_id
1611
1611
  )
1612
- entity = entities_service.get_entity(task["entity_id"])
1613
1612
  if preview_file is not None:
1614
- entities_service.update_entity_preview(
1613
+ entity = entities_service.update_entity_preview(
1615
1614
  task["entity_id"], preview_file["id"]
1616
1615
  )
1617
- assets_service.clear_asset_cache(entity["id"])
1618
- shots_service.clear_shot_cache(entity["id"])
1619
- edits_service.clear_edit_cache(entity["id"])
1620
- shots_service.clear_episode_cache(entity["id"])
1621
- shots_service.clear_sequence_cache(entity["id"])
1622
1616
  return entity
1623
1617
 
1624
1618
 
@@ -2,6 +2,9 @@ from zou.app.services import (
2
2
  base_service,
3
3
  projects_service,
4
4
  notifications_service,
5
+ assets_service,
6
+ shots_service,
7
+ edits_service,
5
8
  )
6
9
  from zou.app.utils import (
7
10
  date_helpers,
@@ -108,12 +111,13 @@ def update_entity_preview(entity_id, preview_file_id):
108
111
  if entity is None:
109
112
  raise EntityNotFoundException
110
113
 
114
+ entity_id = str(entity.id)
111
115
  preview_file = PreviewFile.get(preview_file_id)
112
116
  if preview_file is None:
113
117
  raise PreviewFileNotFoundException
114
118
 
115
119
  entity.update({"preview_file_id": preview_file.id})
116
- clear_entity_cache(str(entity.id))
120
+ clear_entity_cache(entity_id)
117
121
  events.emit(
118
122
  "preview-file:set-main",
119
123
  {"entity_id": entity_id, "preview_file_id": preview_file_id},
@@ -125,9 +129,14 @@ def update_entity_preview(entity_id, preview_file_id):
125
129
  entity_type_name = entity_type.name.lower()
126
130
  events.emit(
127
131
  "%s:update" % entity_type_name,
128
- {"%s_id" % entity_type_name: str(entity.id)},
132
+ {"%s_id" % entity_type_name: entity_id},
129
133
  project_id=str(entity.project_id),
130
134
  )
135
+ assets_service.clear_asset_cache(entity_id)
136
+ edits_service.clear_edit_cache(entity_id)
137
+ shots_service.clear_shot_cache(entity_id)
138
+ shots_service.clear_episode_cache(entity_id)
139
+ shots_service.clear_sequence_cache(entity_id)
131
140
  return entity.serialize()
132
141
 
133
142
 
@@ -678,7 +678,7 @@ def get_project_fps(project_id):
678
678
  Return fps set at project level or default fps if it not set.
679
679
  """
680
680
  project = get_project(project_id)
681
- return float(project["fps"] or "24.00")
681
+ return float(project["fps"] or "25.00")
682
682
 
683
683
 
684
684
  def get_task_type_priority_map(project_id, for_entity="Asset"):
@@ -1663,7 +1663,7 @@ def set_frames_from_task_type_preview_files(
1663
1663
  project = projects_service.get_project(project_id)
1664
1664
  updates = []
1665
1665
  for shot, preview_duration in results:
1666
- nb_frames = round(preview_duration * int(project["fps"]))
1666
+ nb_frames = round(preview_duration * float(project["fps"]))
1667
1667
  updates.append(
1668
1668
  {
1669
1669
  "id": shot.id,
@@ -1646,16 +1646,10 @@ def update_preview_file_info(preview_file):
1646
1646
  project = projects_service.get_project(task.project_id)
1647
1647
 
1648
1648
  if project["is_set_preview_automated"]:
1649
- entity_id = str(task.entity_id)
1650
1649
  entity = entities_service.update_entity_preview(
1651
- entity_id,
1650
+ task.entity_id,
1652
1651
  preview_file["id"],
1653
1652
  )
1654
- assets_service.clear_asset_cache(entity_id)
1655
- edits_service.clear_edit_cache(entity_id)
1656
- shots_service.clear_shot_cache(entity_id)
1657
- shots_service.clear_episode_cache(entity_id)
1658
- shots_service.clear_sequence_cache(entity_id)
1659
1653
  return entity
1660
1654
 
1661
1655
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zou
3
- Version: 0.19.70
3
+ Version: 0.19.72
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
@@ -41,7 +41,7 @@ Requires-Dist: flask-jwt-extended==4.7.1
41
41
  Requires-Dist: flask-migrate==4.0.7
42
42
  Requires-Dist: flask-socketio==5.4.1
43
43
  Requires-Dist: flask==3.1.0
44
- Requires-Dist: gazu==0.10.20
44
+ Requires-Dist: gazu==0.10.21
45
45
  Requires-Dist: gevent-websocket==0.10.1
46
46
  Requires-Dist: gevent==24.11.1
47
47
  Requires-Dist: gunicorn==23.0.0
@@ -1,4 +1,4 @@
1
- zou/__init__.py,sha256=powhLWMd2SAX5HlSx5db8pIXYP2eDMx0gXnFdsbhMNg,24
1
+ zou/__init__.py,sha256=CPFprArWhbpq749PlmUM3mriSrDP6hk-FGm8mJapuzw,24
2
2
  zou/cli.py,sha256=H18Wg-wqQOsv4F5_bZRDlxskjO-TRwaV1NmQMTH9mdg,18869
3
3
  zou/debug.py,sha256=1fawPbkD4wn0Y9Gk0BiBFSa-CQe5agFi8R9uJYl2Uyk,520
4
4
  zou/event_stream.py,sha256=_tue9Ry3aqCniZpKGhWJaY1Eo_fd6zOAfnzPvh_mJzU,8489
@@ -12,7 +12,7 @@ zou/app/blueprints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
12
12
  zou/app/blueprints/assets/__init__.py,sha256=T2zhDagHjXF6jRwOQ8vqokZTkBHyY7XtTI0Rlooamjs,2931
13
13
  zou/app/blueprints/assets/resources.py,sha256=ff7g8_FzZC6dLvMxcYYffsIOy0CqKqdkZibGm2-qgko,25599
14
14
  zou/app/blueprints/auth/__init__.py,sha256=xP874bMWUnLIirOPSEbpe-Q2fBBQrxZGKd0tLZmNJXk,1128
15
- zou/app/blueprints/auth/resources.py,sha256=4ZHg1-M86mw7QlygwfveJcWYI3piwChoTuwVRmA3Q-E,45537
15
+ zou/app/blueprints/auth/resources.py,sha256=YIhdEVK9WQ7fCYtknwh3dR3TdSdURRm7rBpDxpNSGK0,45608
16
16
  zou/app/blueprints/breakdown/__init__.py,sha256=Dp6GWSGxxWIedpyzTTEKpCRUYEo8oVNVyQhwNvTMmQM,1888
17
17
  zou/app/blueprints/breakdown/resources.py,sha256=pmGlHLiXFsPRbxf403SiVgGiaBbtK8G_tfYbXSkJtAU,13593
18
18
  zou/app/blueprints/chats/__init__.py,sha256=YGmwGvddg3MgSYVIh-hmkX8t2em9_LblxBeJzFqFJD4,558
@@ -91,7 +91,7 @@ zou/app/blueprints/persons/resources.py,sha256=PfK6epzRn_kbqN6g9qYiH9XWStFlccTVC
91
91
  zou/app/blueprints/playlists/__init__.py,sha256=vuEk1F3hFHsmuKWhdepMoLyOzmNKDn1YrjjfcaIz0lQ,1596
92
92
  zou/app/blueprints/playlists/resources.py,sha256=alRlMHypUFErXLsEYxpFK84cdjFJ3YWwamZtW0KcwLY,17211
93
93
  zou/app/blueprints/previews/__init__.py,sha256=qGohO6LRNZKXBAegINcUXuZlrtxobJKQg84-rQ1L3AU,4202
94
- zou/app/blueprints/previews/resources.py,sha256=yuSs7-VOYdeSrTDwktx_3uyugxMN1r73FG0kNH-qNXg,48241
94
+ zou/app/blueprints/previews/resources.py,sha256=BK6G4f92yemlDgKyTCKtN1xJ5R_89bunj1reDRMZ--Y,48098
95
95
  zou/app/blueprints/projects/__init__.py,sha256=Pn3fA5bpNFEPBzxTKJ2foV6osZFflXXSM2l2uZh3ktM,3927
96
96
  zou/app/blueprints/projects/resources.py,sha256=E91Vj9EzId2pxiL50JRfrThiyif1PmzWS1oPeMThzQI,31544
97
97
  zou/app/blueprints/search/__init__.py,sha256=QCjQIY_85l_orhdEiqav_GifjReuwsjZggN3V0GeUVY,356
@@ -127,7 +127,7 @@ zou/app/blueprints/source/shotgun/tasks.py,sha256=XXBRe9QhhS-kuZeV3HitOnpf7mmWVx
127
127
  zou/app/blueprints/source/shotgun/team.py,sha256=GF7y2BwDeFJCiidtG68icfCi-uV1-b96YKiH8KR54iE,1819
128
128
  zou/app/blueprints/source/shotgun/versions.py,sha256=8Mb35e5p3FLbbiu6AZb9tJErDKz2pPRBdIYu80Ayj7w,2292
129
129
  zou/app/blueprints/tasks/__init__.py,sha256=pNUqVEVX1KVu1IzRRJNsziPkhWKXqgyvQsNp7LbmIxo,4342
130
- zou/app/blueprints/tasks/resources.py,sha256=gPxhfjk43gUVPbbLiaUlAMUXqr-M0R4SPVHmW7VIhj4,56379
130
+ zou/app/blueprints/tasks/resources.py,sha256=GFYT48NBiIn5QodoMifk1iMb9o2cNQO0HUwYOU3AaVM,56030
131
131
  zou/app/blueprints/user/__init__.py,sha256=H9zCHcVobC6jq6dTToXKAjnZmDA0a9gChHiIP3BcZsc,4586
132
132
  zou/app/blueprints/user/resources.py,sha256=loCigQvPCoRw6nVu_9TIY7pjUByJgk6vutFPSo0MwzI,39891
133
133
  zou/app/file_trees/default.json,sha256=ryUrEmQYE8B_WkzCoQLgmem3N9yNwMIWx9G8p3HfG9o,2310
@@ -191,7 +191,7 @@ zou/app/services/custom_actions_service.py,sha256=fWISEOOdthadrxeHuacEel5Xj6msn0
191
191
  zou/app/services/deletion_service.py,sha256=GdPWmw60_EmWxJohvqQ9KRcION7_PIdQgbl7nr2g2mY,17429
192
192
  zou/app/services/edits_service.py,sha256=lQck7U9JYRWRqukwTT6ZBWCP0BpoF3XlPPwmEgtUvSM,11965
193
193
  zou/app/services/emails_service.py,sha256=HaSdDzNLU-s_fxoH-YQi-3VFX1YwdYm64kMhJFGa3AM,11923
194
- zou/app/services/entities_service.py,sha256=HDl_KqS5aZEUyAkrgsQ11qqYiaFFy0VcD2BrSaOrxJg,16436
194
+ zou/app/services/entities_service.py,sha256=5Mj3YIHrh6WqRxFrAHsNbYms5ienJ2304escX7-F8LY,16754
195
195
  zou/app/services/events_service.py,sha256=Ew-bY5hqrWLmpbVj1_xd3E2S3JtyAGzdgw2XjudTZjc,2700
196
196
  zou/app/services/exception.py,sha256=mcDVjWGICMIlOi4nsN2EQ7nc3V70rAC-iCmXt6kOXbA,4240
197
197
  zou/app/services/file_tree_service.py,sha256=8JNBDgnXtV-AmSJ3gnUGB4oSwLjPgi1WYyL0Kc98JRE,33875
@@ -203,14 +203,14 @@ zou/app/services/notifications_service.py,sha256=7GDRio_mGaRYV5BHOAdpxBZjA_LLYUf
203
203
  zou/app/services/persons_service.py,sha256=ccPP1_anu2J4zH54LKeP7dt1VyVpiYvzfgOS1xXhLrQ,16564
204
204
  zou/app/services/playlists_service.py,sha256=pAlPHET4jNdST5jsmJrFUkf1SVhfSoML9zdNpZ_88l4,32439
205
205
  zou/app/services/preview_files_service.py,sha256=LEBZbLBJOLDLB7syKql5B8a_p1HFHToMi7nKaUxOCb8,35881
206
- zou/app/services/projects_service.py,sha256=2m-w_HaWR06gy8jL8gO-sToHhGdeCakG4hTKKYsLJKk,21249
206
+ zou/app/services/projects_service.py,sha256=aIbYaFomy7OX2Pxvkf9w5qauDvkjuc9ummSGNYIpQMY,21249
207
207
  zou/app/services/scenes_service.py,sha256=iXN19HU4njPF5VtZXuUrVJ-W23ZQuQNPC3ADXltbWtU,992
208
208
  zou/app/services/schedule_service.py,sha256=E99HKYsXgnK2sw58fw-NNHXWBgVJiA60upztjkNSCaM,6989
209
- zou/app/services/shots_service.py,sha256=lJViWy9IbB1YOZB9HyyGAyMc1HW9y5qPEA1EefANTek,52040
209
+ zou/app/services/shots_service.py,sha256=4H81Tf6twY4s9Ac9_MCX_4bdW75m30TaKrR0tLiQf9s,52042
210
210
  zou/app/services/stats_service.py,sha256=cAlc92i9d6eYtsuwe3hYHYwdytg8KEMi1-TADfysJwM,11733
211
211
  zou/app/services/status_automations_service.py,sha256=tVio7Sj7inhvKS4UOyRhcdpwr_KNP96hT1o0X7XcGF4,715
212
212
  zou/app/services/sync_service.py,sha256=kJ1LGMNfPh9_BDwGTfoYWHrLZ8OlT0hWk-R8wNt0t3w,41562
213
- zou/app/services/tasks_service.py,sha256=IK0vJx9upHOwbHGmDogDU1X9nDuC30tf2xJES0UOpnQ,68877
213
+ zou/app/services/tasks_service.py,sha256=7pvaXwPCb5oGWxS6xWr4yD8BhLZkhu7BZUgEVcZFZ1o,68559
214
214
  zou/app/services/telemetry_services.py,sha256=xQm1h1t_JxSFW59zQGf4NuNdUi1UfMa_6pQ-ytRbmGA,1029
215
215
  zou/app/services/time_spents_service.py,sha256=H9X-60s6oqtY9rtU-K2jKwUSljfkdGlf_9wMr3iVfIA,15158
216
216
  zou/app/services/user_service.py,sha256=csEwaX2VW-CTY4mexD0yTaNb2i0cN2LECeBnzjSyDUs,50036
@@ -413,9 +413,9 @@ zou/remote/normalize_movie.py,sha256=zNfEY3N1UbAHZfddGONTg2Sff3ieLVWd4dfZa1dpnes
413
413
  zou/remote/playlist.py,sha256=AsDo0bgYhDcd6DfNRV6r6Jj3URWwavE2ZN3VkKRPbLU,3293
414
414
  zou/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
415
415
  zou/utils/movie.py,sha256=d67fIL9dVBKt-E_qCGXRbNNdbJaJR5sHvZeX3hf8ldE,16559
416
- zou-0.19.70.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
417
- zou-0.19.70.dist-info/METADATA,sha256=NmJPDAd3cAO4dtJtUncd8r7XQxwaN5EumoyhxYqaZWg,6709
418
- zou-0.19.70.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
419
- zou-0.19.70.dist-info/entry_points.txt,sha256=PelQoIx3qhQ_Tmne7wrLY-1m2izuzgpwokoURwSohy4,130
420
- zou-0.19.70.dist-info/top_level.txt,sha256=4S7G_jk4MzpToeDItHGjPhHx_fRdX52zJZWTD4SL54g,4
421
- zou-0.19.70.dist-info/RECORD,,
416
+ zou-0.19.72.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
417
+ zou-0.19.72.dist-info/METADATA,sha256=zVeTwIAANWIsuWTx88LjzVhKM4qhuQADG2jF_FVbEdg,6709
418
+ zou-0.19.72.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
419
+ zou-0.19.72.dist-info/entry_points.txt,sha256=PelQoIx3qhQ_Tmne7wrLY-1m2izuzgpwokoURwSohy4,130
420
+ zou-0.19.72.dist-info/top_level.txt,sha256=4S7G_jk4MzpToeDItHGjPhHx_fRdX52zJZWTD4SL54g,4
421
+ zou-0.19.72.dist-info/RECORD,,
File without changes
File without changes