zou 0.19.40__py3-none-any.whl → 0.19.41__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 +1 -1
- zou/app/services/comments_service.py +44 -36
- zou/app/services/tasks_service.py +1 -1
- {zou-0.19.40.dist-info → zou-0.19.41.dist-info}/METADATA +11 -11
- {zou-0.19.40.dist-info → zou-0.19.41.dist-info}/RECORD +9 -9
- {zou-0.19.40.dist-info → zou-0.19.41.dist-info}/WHEEL +1 -1
- {zou-0.19.40.dist-info → zou-0.19.41.dist-info}/LICENSE +0 -0
- {zou-0.19.40.dist-info → zou-0.19.41.dist-info}/entry_points.txt +0 -0
- {zou-0.19.40.dist-info → zou-0.19.41.dist-info}/top_level.txt +0 -0
zou/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.19.
|
|
1
|
+
__version__ = "0.19.41"
|
|
@@ -136,43 +136,51 @@ def _get_comment_author(person_id):
|
|
|
136
136
|
|
|
137
137
|
|
|
138
138
|
def _manage_status_change(task_status, task, comment):
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
"
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
139
|
+
is_last_comment = (
|
|
140
|
+
task["last_comment_date"] is None
|
|
141
|
+
or task["last_comment_date"] < comment["created_at"]
|
|
142
|
+
)
|
|
143
|
+
if not is_last_comment:
|
|
144
|
+
status_changed = False
|
|
145
|
+
task = tasks_service.reset_task_data(task["id"])
|
|
146
|
+
else:
|
|
147
|
+
status_changed = task_status["id"] != task["task_status_id"]
|
|
148
|
+
new_data = {
|
|
149
|
+
"task_status_id": task_status["id"],
|
|
150
|
+
"last_comment_date": comment["created_at"],
|
|
151
|
+
}
|
|
152
|
+
if status_changed:
|
|
153
|
+
if task_status["is_retake"]:
|
|
154
|
+
retake_count = task["retake_count"]
|
|
155
|
+
if retake_count is None or retake_count == "NoneType":
|
|
156
|
+
retake_count = 0
|
|
157
|
+
new_data["retake_count"] = retake_count + 1
|
|
158
|
+
|
|
159
|
+
if task_status["is_feedback_request"]:
|
|
160
|
+
new_data["end_date"] = date_helpers.get_utc_now_datetime()
|
|
161
|
+
|
|
162
|
+
if (
|
|
163
|
+
task_status["short_name"] == "wip"
|
|
164
|
+
and task["real_start_date"] is None
|
|
165
|
+
):
|
|
166
|
+
new_data["real_start_date"] = datetime.datetime.now(
|
|
167
|
+
datetime.timezone.utc
|
|
168
|
+
)
|
|
161
169
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
170
|
+
tasks_service.update_task(task["id"], new_data)
|
|
171
|
+
|
|
172
|
+
if status_changed:
|
|
173
|
+
events.emit(
|
|
174
|
+
"task:status-changed",
|
|
175
|
+
{
|
|
176
|
+
"task_id": task["id"],
|
|
177
|
+
"new_task_status_id": new_data["task_status_id"],
|
|
178
|
+
"previous_task_status_id": task["task_status_id"],
|
|
179
|
+
"person_id": comment["person_id"],
|
|
180
|
+
},
|
|
181
|
+
project_id=task["project_id"],
|
|
182
|
+
)
|
|
183
|
+
task.update(new_data)
|
|
176
184
|
return task, status_changed
|
|
177
185
|
|
|
178
186
|
|
|
@@ -1812,7 +1812,7 @@ def reset_task_data(task_id):
|
|
|
1812
1812
|
)
|
|
1813
1813
|
project_id = str(task.project_id)
|
|
1814
1814
|
events.emit("task:update", {"task_id": task.id}, project_id)
|
|
1815
|
-
return task.serialize()
|
|
1815
|
+
return task.serialize(relations=True)
|
|
1816
1816
|
|
|
1817
1817
|
|
|
1818
1818
|
def get_persons_tasks_dates():
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: zou
|
|
3
|
-
Version: 0.19.
|
|
3
|
+
Version: 0.19.41
|
|
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
|
|
@@ -24,7 +24,7 @@ License-File: LICENSE
|
|
|
24
24
|
Requires-Dist: babel ==2.15.0
|
|
25
25
|
Requires-Dist: click ==8.1.7
|
|
26
26
|
Requires-Dist: discord.py ==2.3.2
|
|
27
|
-
Requires-Dist: email-validator ==2.
|
|
27
|
+
Requires-Dist: email-validator ==2.2.0
|
|
28
28
|
Requires-Dist: ffmpeg-python ==0.2.0
|
|
29
29
|
Requires-Dist: fido2 ==1.1.3
|
|
30
30
|
Requires-Dist: flasgger ==0.9.7.1
|
|
@@ -40,7 +40,7 @@ Requires-Dist: flask-jwt-extended ==4.6.0
|
|
|
40
40
|
Requires-Dist: flask-migrate ==4.0.7
|
|
41
41
|
Requires-Dist: flask-socketio ==5.3.6
|
|
42
42
|
Requires-Dist: flask ==3.0.3
|
|
43
|
-
Requires-Dist: gazu ==0.10.
|
|
43
|
+
Requires-Dist: gazu ==0.10.10
|
|
44
44
|
Requires-Dist: gevent-websocket ==0.10.1
|
|
45
45
|
Requires-Dist: gevent ==24.2.1
|
|
46
46
|
Requires-Dist: gunicorn ==22.0.0
|
|
@@ -50,27 +50,27 @@ Requires-Dist: Jinja2 ==3.1.4
|
|
|
50
50
|
Requires-Dist: ldap3 ==2.9.1
|
|
51
51
|
Requires-Dist: matterhook ==0.2
|
|
52
52
|
Requires-Dist: meilisearch ==0.31.3
|
|
53
|
-
Requires-Dist: opencv-python ==4.10.0.
|
|
53
|
+
Requires-Dist: opencv-python ==4.10.0.84
|
|
54
54
|
Requires-Dist: OpenTimelineIO ==0.16.0
|
|
55
|
-
Requires-Dist: orjson ==3.10.
|
|
55
|
+
Requires-Dist: orjson ==3.10.5
|
|
56
56
|
Requires-Dist: pillow ==10.3.0
|
|
57
|
-
Requires-Dist: psutil ==
|
|
57
|
+
Requires-Dist: psutil ==6.0.0
|
|
58
58
|
Requires-Dist: psycopg[binary] ==3.1.19
|
|
59
59
|
Requires-Dist: pyotp ==2.9.0
|
|
60
60
|
Requires-Dist: python-nomad ==2.0.1
|
|
61
61
|
Requires-Dist: python-slugify ==8.0.4
|
|
62
|
-
Requires-Dist: python-socketio ==5.11.
|
|
62
|
+
Requires-Dist: python-socketio ==5.11.3
|
|
63
63
|
Requires-Dist: pytz ==2024.1
|
|
64
|
-
Requires-Dist: redis ==5.0.
|
|
64
|
+
Requires-Dist: redis ==5.0.6
|
|
65
65
|
Requires-Dist: requests ==2.32.3
|
|
66
66
|
Requires-Dist: rq ==1.16.2
|
|
67
67
|
Requires-Dist: slackclient ==2.9.4
|
|
68
68
|
Requires-Dist: sqlalchemy-utils ==0.41.2
|
|
69
|
-
Requires-Dist: sqlalchemy ==2.0.
|
|
69
|
+
Requires-Dist: sqlalchemy ==2.0.31
|
|
70
70
|
Requires-Dist: ua-parser ==0.18.0
|
|
71
71
|
Requires-Dist: werkzeug ==3.0.3
|
|
72
72
|
Requires-Dist: numpy ==1.24.4 ; python_version == "3.8"
|
|
73
|
-
Requires-Dist: numpy ==
|
|
73
|
+
Requires-Dist: numpy ==2.0.0 ; python_version >= "3.9"
|
|
74
74
|
Provides-Extra: dev
|
|
75
75
|
Requires-Dist: wheel ; extra == 'dev'
|
|
76
76
|
Provides-Extra: lint
|
|
@@ -80,7 +80,7 @@ Requires-Dist: pre-commit ==3.7.1 ; (python_version >= "3.9") and extra == 'lint
|
|
|
80
80
|
Provides-Extra: monitoring
|
|
81
81
|
Requires-Dist: prometheus-flask-exporter ==0.23.0 ; extra == 'monitoring'
|
|
82
82
|
Requires-Dist: pygelf ==0.4.2 ; extra == 'monitoring'
|
|
83
|
-
Requires-Dist: sentry-sdk ==2.
|
|
83
|
+
Requires-Dist: sentry-sdk ==2.6.0 ; extra == 'monitoring'
|
|
84
84
|
Provides-Extra: prod
|
|
85
85
|
Requires-Dist: gunicorn ; extra == 'prod'
|
|
86
86
|
Requires-Dist: gevent ; extra == 'prod'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
zou/__init__.py,sha256=
|
|
1
|
+
zou/__init__.py,sha256=dgzwiYNneoa6Prr4yKokUkQAc0JeTED_l3OscWCs9CM,24
|
|
2
2
|
zou/cli.py,sha256=mnY9MoD0SjY4KFa1qyYS4E5bjEqk1UIZpH0iYeZPGh8,17508
|
|
3
3
|
zou/debug.py,sha256=1fawPbkD4wn0Y9Gk0BiBFSa-CQe5agFi8R9uJYl2Uyk,520
|
|
4
4
|
zou/event_stream.py,sha256=zgob2dZKray2lxPa11hdRNmOg8XRlKDdRcGdF80ylwg,8245
|
|
@@ -185,7 +185,7 @@ zou/app/services/backup_service.py,sha256=_ZtZp6wkcVYnHxBosziwLGdrTvsUttXGphiydq
|
|
|
185
185
|
zou/app/services/base_service.py,sha256=OZd0STFh-DyBBdwsmA7DMMnrwv4C8wJUbShvZ1isndU,1383
|
|
186
186
|
zou/app/services/breakdown_service.py,sha256=p93HncjC36qbmvZiB259QGRtciS37N-s_7IWVAQx5eE,26727
|
|
187
187
|
zou/app/services/chats_service.py,sha256=V1RmQeQnsH1xvtbs6wcjEpudQS547eJBM7bgJr9-qYM,8270
|
|
188
|
-
zou/app/services/comments_service.py,sha256=
|
|
188
|
+
zou/app/services/comments_service.py,sha256=87UXq8zPfx-oDQzcHXR-REzNUbHAIxuLwpp6jRU6kHQ,18606
|
|
189
189
|
zou/app/services/concepts_service.py,sha256=KGvk6lF5udj3SWn40X9KE8OAigrLCZUKEz9_CW7EMgQ,11440
|
|
190
190
|
zou/app/services/custom_actions_service.py,sha256=fWISEOOdthadrxeHuacEel5Xj6msn0yWXJQDG1gzvsY,297
|
|
191
191
|
zou/app/services/deletion_service.py,sha256=ddaup7i_CTugcJDrynczNcfhjSKgDeGhPQjQ68We_l8,17255
|
|
@@ -210,7 +210,7 @@ zou/app/services/shots_service.py,sha256=3L5lhmwPudQ8R40hYopx4cn8OxEy0HWYQ-2yrRI
|
|
|
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=gtYRSTK3GzraMEETErW9g_dog9BlXkBg1OZ2VnpC7s4,41754
|
|
213
|
-
zou/app/services/tasks_service.py,sha256=
|
|
213
|
+
zou/app/services/tasks_service.py,sha256=05Vy7cBhHFr7PYBuTNiggw1TydtOhP5ekuBoTZLTLOA,67797
|
|
214
214
|
zou/app/services/telemetry_services.py,sha256=xQm1h1t_JxSFW59zQGf4NuNdUi1UfMa_6pQ-ytRbmGA,1029
|
|
215
215
|
zou/app/services/time_spents_service.py,sha256=TBLC1O9Dg_UbciG5Nw-dejqX2-5n6q44lACeN6OnUkQ,15206
|
|
216
216
|
zou/app/services/user_service.py,sha256=BiOhPV7O-vowet7jOksjXk2V4yxZkdqsIyNboJ-Oz_A,46595
|
|
@@ -405,9 +405,9 @@ zou/remote/normalize_movie.py,sha256=zNfEY3N1UbAHZfddGONTg2Sff3ieLVWd4dfZa1dpnes
|
|
|
405
405
|
zou/remote/playlist.py,sha256=AsDo0bgYhDcd6DfNRV6r6Jj3URWwavE2ZN3VkKRPbLU,3293
|
|
406
406
|
zou/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
407
407
|
zou/utils/movie.py,sha256=u9LCEOvmkxwm-KiZ6jKNdB9LSC6XXUDwJpVx8LkDwJg,16416
|
|
408
|
-
zou-0.19.
|
|
409
|
-
zou-0.19.
|
|
410
|
-
zou-0.19.
|
|
411
|
-
zou-0.19.
|
|
412
|
-
zou-0.19.
|
|
413
|
-
zou-0.19.
|
|
408
|
+
zou-0.19.41.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
|
|
409
|
+
zou-0.19.41.dist-info/METADATA,sha256=1FpQO4yRb6Vnjh-WRIRJHy5oomUM079NszNxHU8P1BM,6678
|
|
410
|
+
zou-0.19.41.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
|
411
|
+
zou-0.19.41.dist-info/entry_points.txt,sha256=PelQoIx3qhQ_Tmne7wrLY-1m2izuzgpwokoURwSohy4,130
|
|
412
|
+
zou-0.19.41.dist-info/top_level.txt,sha256=4S7G_jk4MzpToeDItHGjPhHx_fRdX52zJZWTD4SL54g,4
|
|
413
|
+
zou-0.19.41.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|