zou 0.20.73__py3-none-any.whl → 0.20.74__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/blueprints/comments/resources.py +4 -1
- zou/app/blueprints/entities/resources.py +142 -21
- zou/app/blueprints/files/resources.py +876 -380
- zou/app/blueprints/index/resources.py +205 -20
- zou/app/blueprints/news/resources.py +187 -51
- zou/app/blueprints/persons/resources.py +301 -166
- zou/app/blueprints/playlists/resources.py +313 -147
- zou/app/blueprints/projects/__init__.py +7 -0
- zou/app/blueprints/projects/resources.py +597 -152
- zou/app/blueprints/source/csv/assets.py +4 -0
- zou/app/blueprints/source/csv/shots.py +4 -0
- zou/app/blueprints/tasks/resources.py +8 -13
- zou/app/blueprints/user/resources.py +13 -12
- zou/app/services/comments_service.py +6 -3
- zou/app/services/time_spents_service.py +61 -1
- {zou-0.20.73.dist-info → zou-0.20.74.dist-info}/METADATA +13 -13
- {zou-0.20.73.dist-info → zou-0.20.74.dist-info}/RECORD +22 -22
- {zou-0.20.73.dist-info → zou-0.20.74.dist-info}/WHEEL +0 -0
- {zou-0.20.73.dist-info → zou-0.20.74.dist-info}/entry_points.txt +0 -0
- {zou-0.20.73.dist-info → zou-0.20.74.dist-info}/licenses/LICENSE +0 -0
- {zou-0.20.73.dist-info → zou-0.20.74.dist-info}/top_level.txt +0 -0
|
@@ -209,6 +209,10 @@ class AssetsCsvImportResource(BaseCsvProjectImportResource):
|
|
|
209
209
|
else:
|
|
210
210
|
asset_new_values["data"] = entity.data.copy()
|
|
211
211
|
|
|
212
|
+
resolution = row.get("Resolution", None)
|
|
213
|
+
if resolution is not None:
|
|
214
|
+
asset_new_values["data"]["resolution"] = resolution
|
|
215
|
+
|
|
212
216
|
for name, descriptor in self.descriptor_fields.items():
|
|
213
217
|
if name in row:
|
|
214
218
|
if descriptor["data_type"] == "boolean":
|
|
@@ -229,6 +229,10 @@ class ShotsCsvImportResource(BaseCsvProjectImportResource):
|
|
|
229
229
|
if fps is not None:
|
|
230
230
|
shot_new_values["data"]["fps"] = fps
|
|
231
231
|
|
|
232
|
+
resolution = row.get("Resolution", None)
|
|
233
|
+
if resolution is not None:
|
|
234
|
+
shot_new_values["data"]["resolution"] = resolution
|
|
235
|
+
|
|
232
236
|
for name, descriptor in self.descriptor_fields.items():
|
|
233
237
|
if name in row:
|
|
234
238
|
if descriptor["data_type"] == "boolean":
|
|
@@ -2029,19 +2029,14 @@ class OpenTasksStatsResource(Resource, ArgsMixin):
|
|
|
2029
2029
|
additionalProperties:
|
|
2030
2030
|
type: object
|
|
2031
2031
|
properties:
|
|
2032
|
-
|
|
2033
|
-
type:
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
type: integer
|
|
2041
|
-
estimation:
|
|
2042
|
-
type: integer
|
|
2043
|
-
duration:
|
|
2044
|
-
type: integer
|
|
2032
|
+
total:
|
|
2033
|
+
type: integer
|
|
2034
|
+
done:
|
|
2035
|
+
type: integer
|
|
2036
|
+
estimation:
|
|
2037
|
+
type: integer
|
|
2038
|
+
duration:
|
|
2039
|
+
type: integer
|
|
2045
2040
|
400:
|
|
2046
2041
|
description: Bad request
|
|
2047
2042
|
"""
|
|
@@ -617,7 +617,7 @@ class FiltersResource(Resource, ArgsMixin):
|
|
|
617
617
|
requestBody:
|
|
618
618
|
required: true
|
|
619
619
|
content:
|
|
620
|
-
application/
|
|
620
|
+
application/json:
|
|
621
621
|
schema:
|
|
622
622
|
type: object
|
|
623
623
|
required:
|
|
@@ -781,7 +781,7 @@ class FilterGroupsResource(Resource, ArgsMixin):
|
|
|
781
781
|
requestBody:
|
|
782
782
|
required: true
|
|
783
783
|
content:
|
|
784
|
-
application/
|
|
784
|
+
application/json:
|
|
785
785
|
schema:
|
|
786
786
|
type: object
|
|
787
787
|
required:
|
|
@@ -963,8 +963,7 @@ class DesktopLoginLogsResource(Resource, ArgsMixin):
|
|
|
963
963
|
|
|
964
964
|
def post(self):
|
|
965
965
|
"""
|
|
966
|
-
Create a desktop login log.
|
|
967
|
-
only be created by the current user.
|
|
966
|
+
Create a desktop login log.
|
|
968
967
|
---
|
|
969
968
|
tags:
|
|
970
969
|
- User
|
|
@@ -973,7 +972,7 @@ class DesktopLoginLogsResource(Resource, ArgsMixin):
|
|
|
973
972
|
requestBody:
|
|
974
973
|
required: true
|
|
975
974
|
content:
|
|
976
|
-
application/
|
|
975
|
+
application/json:
|
|
977
976
|
schema:
|
|
978
977
|
type: object
|
|
979
978
|
properties:
|
|
@@ -1149,7 +1148,7 @@ class NotificationResource(Resource, ArgsMixin):
|
|
|
1149
1148
|
requestBody:
|
|
1150
1149
|
required: true
|
|
1151
1150
|
content:
|
|
1152
|
-
application/
|
|
1151
|
+
application/json:
|
|
1153
1152
|
schema:
|
|
1154
1153
|
type: object
|
|
1155
1154
|
properties:
|
|
@@ -1174,13 +1173,13 @@ class MarkAllNotificationsAsReadResource(Resource):
|
|
|
1174
1173
|
|
|
1175
1174
|
def post(self):
|
|
1176
1175
|
"""
|
|
1177
|
-
Mark all notifications as read
|
|
1176
|
+
Mark all notifications as read.
|
|
1178
1177
|
---
|
|
1178
|
+
description: It applies to all notifications of the current user.
|
|
1179
1179
|
tags:
|
|
1180
1180
|
- User
|
|
1181
1181
|
responses:
|
|
1182
1182
|
200:
|
|
1183
|
-
description: All notifications marked as read
|
|
1184
1183
|
content:
|
|
1185
1184
|
application/json:
|
|
1186
1185
|
schema:
|
|
@@ -1198,8 +1197,9 @@ class HasTaskSubscribedResource(Resource):
|
|
|
1198
1197
|
|
|
1199
1198
|
def get(self, task_id):
|
|
1200
1199
|
"""
|
|
1201
|
-
|
|
1200
|
+
Check task subscription
|
|
1202
1201
|
---
|
|
1202
|
+
description: Return true if current user has subscribed to given task.
|
|
1203
1203
|
tags:
|
|
1204
1204
|
- User
|
|
1205
1205
|
parameters:
|
|
@@ -1227,12 +1227,13 @@ class TaskSubscribeResource(Resource):
|
|
|
1227
1227
|
|
|
1228
1228
|
def post(self, task_id):
|
|
1229
1229
|
"""
|
|
1230
|
-
Create a subscription entry
|
|
1231
|
-
subscribes, he gets notified everytime a comment is posted on the task.
|
|
1230
|
+
Create a subscription entry
|
|
1232
1231
|
---
|
|
1233
1232
|
tags:
|
|
1234
1233
|
- User
|
|
1235
|
-
description:
|
|
1234
|
+
description: It applies to given task and current user. When a user
|
|
1235
|
+
subscribed, he gets notified everytime a comment is posted on the task.
|
|
1236
|
+
When a user subscribes, he gets notified everytime a
|
|
1236
1237
|
comment is posted on the task.
|
|
1237
1238
|
parameters:
|
|
1238
1239
|
- in: path
|
|
@@ -303,9 +303,12 @@ def _run_status_automation(automation, task, person_id):
|
|
|
303
303
|
|
|
304
304
|
elif automation["out_field_type"] == "ready_for":
|
|
305
305
|
try:
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
306
|
+
data = {"ready_for": automation["out_task_type_id"]}
|
|
307
|
+
asset = assets_service.update_asset(task["entity_id"], data)
|
|
308
|
+
events.emit(
|
|
309
|
+
"asset:update",
|
|
310
|
+
{"asset_id": task["entity_id"], "data": data},
|
|
311
|
+
project_id=task["project_id"],
|
|
309
312
|
)
|
|
310
313
|
breakdown_service.refresh_casting_stats(asset)
|
|
311
314
|
except AssetNotFoundException:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import datetime
|
|
2
2
|
|
|
3
3
|
from dateutil import relativedelta
|
|
4
|
+
from collections import defaultdict
|
|
4
5
|
|
|
5
6
|
from sqlalchemy import func
|
|
6
7
|
from sqlalchemy.exc import DataError
|
|
@@ -18,7 +19,7 @@ from zou.app.models.person import Person
|
|
|
18
19
|
|
|
19
20
|
from zou.app.utils import fields, date_helpers
|
|
20
21
|
|
|
21
|
-
from zou.app.services import user_service
|
|
22
|
+
from zou.app.services import user_service, projects_service
|
|
22
23
|
from zou.app.services.exception import WrongDateFormatException
|
|
23
24
|
|
|
24
25
|
|
|
@@ -572,3 +573,62 @@ def get_project_month_time_spents(project_id, timezone=None):
|
|
|
572
573
|
"total"
|
|
573
574
|
] += time_spent.duration
|
|
574
575
|
return data
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
def get_project_task_type_time_spents(
|
|
579
|
+
project_id, task_type_id, start_date, end_date
|
|
580
|
+
):
|
|
581
|
+
"""
|
|
582
|
+
Returns time spents for project and task type in a date range.
|
|
583
|
+
"""
|
|
584
|
+
try:
|
|
585
|
+
query = TimeSpent.query.join(Task).filter(
|
|
586
|
+
Task.project_id == project_id, Task.task_type_id == task_type_id
|
|
587
|
+
)
|
|
588
|
+
if start_date is not None:
|
|
589
|
+
query = query.filter(
|
|
590
|
+
TimeSpent.date >= func.cast(start_date, TimeSpent.date.type)
|
|
591
|
+
)
|
|
592
|
+
if end_date is not None:
|
|
593
|
+
query = query.filter(
|
|
594
|
+
TimeSpent.date <= func.cast(end_date, TimeSpent.date.type)
|
|
595
|
+
)
|
|
596
|
+
|
|
597
|
+
time_spents = query.order_by(TimeSpent.date.desc()).all()
|
|
598
|
+
|
|
599
|
+
result = defaultdict(list)
|
|
600
|
+
for ts in time_spents:
|
|
601
|
+
result[str(ts.person_id)].append(ts.serialize())
|
|
602
|
+
|
|
603
|
+
except DataError:
|
|
604
|
+
raise WrongDateFormatException
|
|
605
|
+
return dict(result)
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
def get_day_offs_between_for_project(
|
|
609
|
+
project_id, start_date=None, end_date=None
|
|
610
|
+
):
|
|
611
|
+
"""
|
|
612
|
+
Get all day off entries for project, start and end date.
|
|
613
|
+
"""
|
|
614
|
+
project = projects_service.get_project(project_id, relations=True)
|
|
615
|
+
try:
|
|
616
|
+
query = DayOff.query.filter(DayOff.person_id.in_(project["team"]))
|
|
617
|
+
if start_date is not None:
|
|
618
|
+
query = query.filter(
|
|
619
|
+
func.cast(start_date, DayOff.end_date.type) <= DayOff.end_date
|
|
620
|
+
)
|
|
621
|
+
if end_date is not None:
|
|
622
|
+
query = query.filter(
|
|
623
|
+
func.cast(end_date, DayOff.date.type) >= DayOff.date
|
|
624
|
+
)
|
|
625
|
+
|
|
626
|
+
days_offs = query.order_by(DayOff.date).all()
|
|
627
|
+
|
|
628
|
+
result = defaultdict(list)
|
|
629
|
+
for day_off in days_offs:
|
|
630
|
+
result[str(day_off.person_id)].append(day_off.serialize())
|
|
631
|
+
|
|
632
|
+
except DataError:
|
|
633
|
+
raise WrongDateFormatException
|
|
634
|
+
return dict(result)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: zou
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.74
|
|
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
|
|
@@ -21,8 +21,8 @@ Classifier: Topic :: Multimedia :: Graphics
|
|
|
21
21
|
Requires-Python: >=3.10, <3.14
|
|
22
22
|
License-File: LICENSE
|
|
23
23
|
Requires-Dist: babel==2.17.0
|
|
24
|
-
Requires-Dist: click==8.
|
|
25
|
-
Requires-Dist: discord.py==2.6.
|
|
24
|
+
Requires-Dist: click==8.3.0
|
|
25
|
+
Requires-Dist: discord.py==2.6.3
|
|
26
26
|
Requires-Dist: email-validator==2.3.0
|
|
27
27
|
Requires-Dist: ffmpeg-python==0.2.0
|
|
28
28
|
Requires-Dist: fido2==2.0.0
|
|
@@ -41,7 +41,7 @@ Requires-Dist: flask-socketio==5.5.1
|
|
|
41
41
|
Requires-Dist: flask==3.1.2
|
|
42
42
|
Requires-Dist: gazu==0.10.36
|
|
43
43
|
Requires-Dist: gevent-websocket==0.10.1
|
|
44
|
-
Requires-Dist: gevent==25.
|
|
44
|
+
Requires-Dist: gevent==25.9.1
|
|
45
45
|
Requires-Dist: gunicorn==23.0.0
|
|
46
46
|
Requires-Dist: isoweek==1.3.3
|
|
47
47
|
Requires-Dist: itsdangerous==2.2.0
|
|
@@ -55,8 +55,8 @@ Requires-Dist: OpenTimelineIO==0.17.0
|
|
|
55
55
|
Requires-Dist: OpenTimelineIO-Plugins==0.17.0
|
|
56
56
|
Requires-Dist: orjson==3.11.3
|
|
57
57
|
Requires-Dist: pillow==11.3.0
|
|
58
|
-
Requires-Dist: psutil==7.
|
|
59
|
-
Requires-Dist: psycopg[binary]==3.2.
|
|
58
|
+
Requires-Dist: psutil==7.1.0
|
|
59
|
+
Requires-Dist: psycopg[binary]==3.2.10
|
|
60
60
|
Requires-Dist: pyotp==2.9.0
|
|
61
61
|
Requires-Dist: pysaml2==7.5.2
|
|
62
62
|
Requires-Dist: python-nomad==2.1.0
|
|
@@ -65,11 +65,11 @@ Requires-Dist: python-socketio==5.13.0
|
|
|
65
65
|
Requires-Dist: pytz==2025.2
|
|
66
66
|
Requires-Dist: redis==5.2.1
|
|
67
67
|
Requires-Dist: requests==2.32.5
|
|
68
|
-
Requires-Dist: rq==2.
|
|
68
|
+
Requires-Dist: rq==2.6.0
|
|
69
69
|
Requires-Dist: semver==3.0.4
|
|
70
70
|
Requires-Dist: slackclient==2.9.4
|
|
71
71
|
Requires-Dist: spdx-license-list==3.27.0
|
|
72
|
-
Requires-Dist: sqlalchemy_utils==0.
|
|
72
|
+
Requires-Dist: sqlalchemy_utils==0.42.0
|
|
73
73
|
Requires-Dist: sqlalchemy==2.0.43
|
|
74
74
|
Requires-Dist: tabulate==0.9.0
|
|
75
75
|
Requires-Dist: tomlkit==0.13.3
|
|
@@ -81,17 +81,17 @@ Requires-Dist: gevent; extra == "prod"
|
|
|
81
81
|
Provides-Extra: dev
|
|
82
82
|
Requires-Dist: wheel; extra == "dev"
|
|
83
83
|
Provides-Extra: test
|
|
84
|
-
Requires-Dist: fakeredis==2.31.
|
|
84
|
+
Requires-Dist: fakeredis==2.31.3; extra == "test"
|
|
85
85
|
Requires-Dist: mixer==7.2.2; extra == "test"
|
|
86
|
-
Requires-Dist: pytest-cov==
|
|
87
|
-
Requires-Dist: pytest==8.4.
|
|
86
|
+
Requires-Dist: pytest-cov==7.0.0; extra == "test"
|
|
87
|
+
Requires-Dist: pytest==8.4.2; extra == "test"
|
|
88
88
|
Provides-Extra: monitoring
|
|
89
89
|
Requires-Dist: prometheus-flask-exporter==0.23.2; extra == "monitoring"
|
|
90
90
|
Requires-Dist: pygelf==0.4.3; extra == "monitoring"
|
|
91
|
-
Requires-Dist: sentry-sdk==2.
|
|
91
|
+
Requires-Dist: sentry-sdk==2.39.0; extra == "monitoring"
|
|
92
92
|
Provides-Extra: lint
|
|
93
93
|
Requires-Dist: autoflake==2.3.1; extra == "lint"
|
|
94
|
-
Requires-Dist: black==25.
|
|
94
|
+
Requires-Dist: black==25.9.0; extra == "lint"
|
|
95
95
|
Requires-Dist: pre-commit==4.3.0; extra == "lint"
|
|
96
96
|
Dynamic: license-file
|
|
97
97
|
Dynamic: requires-python
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
zou/__init__.py,sha256=
|
|
1
|
+
zou/__init__.py,sha256=XfPpnxKnarguaQf3OrkgE_t9bFlmoaJ40CFc2Edn8bo,24
|
|
2
2
|
zou/cli.py,sha256=N9FyrL4TDgIiCUa-I3xIzOgiVLM14kz8_QLQ48y51oE,22767
|
|
3
3
|
zou/debug.py,sha256=1fawPbkD4wn0Y9Gk0BiBFSa-CQe5agFi8R9uJYl2Uyk,520
|
|
4
4
|
zou/event_stream.py,sha256=9O1PE_vDW8p3yfHJNSZ8w0ybD-660x8oGN0izgJdTjM,8575
|
|
@@ -18,7 +18,7 @@ zou/app/blueprints/breakdown/resources.py,sha256=vpE6aTdSPS3KSuGhgFIXxgYf3LXwjUj
|
|
|
18
18
|
zou/app/blueprints/chats/__init__.py,sha256=YGmwGvddg3MgSYVIh-hmkX8t2em9_LblxBeJzFqFJD4,558
|
|
19
19
|
zou/app/blueprints/chats/resources.py,sha256=ekKH8BghL4MAh-ZzT8IDPVy8cYAbCRAYwzjjkIa4DmU,5934
|
|
20
20
|
zou/app/blueprints/comments/__init__.py,sha256=WqpJ7-_dK1cInGTFJAxQ7syZtPCotwq2oO20UEnk1h4,1532
|
|
21
|
-
zou/app/blueprints/comments/resources.py,sha256=
|
|
21
|
+
zou/app/blueprints/comments/resources.py,sha256=8YLmrj02bJUMdW3G1TF1H-DFxI63EyuMuHEEyxf9RBo,19682
|
|
22
22
|
zou/app/blueprints/concepts/__init__.py,sha256=sP_P4mfYvfMcgeE6MHZYP3eD0Lz0Lwit5-CFuVnA-Jg,894
|
|
23
23
|
zou/app/blueprints/concepts/resources.py,sha256=hXVK0ON5vu2VDporVLrQdb5HjyxpVrXLoTq-ObLiO_Y,10114
|
|
24
24
|
zou/app/blueprints/crud/__init__.py,sha256=bzjCUL2BAYuufiWcP1n83JAp1TKXEMqTeN6wMOha76M,9667
|
|
@@ -72,7 +72,7 @@ zou/app/blueprints/departments/resources.py,sha256=OrsMYJj3l5MgB27XgSRp8Mzzf1V9Y
|
|
|
72
72
|
zou/app/blueprints/edits/__init__.py,sha256=jR6dURRPHZJcU4DVFsNghLW1iGm3CwEzs1LPbdof158,1152
|
|
73
73
|
zou/app/blueprints/edits/resources.py,sha256=hRIKFFZGpCDGhCwPQhWtUGOedotrR-C6xXWPPqVaVwU,13211
|
|
74
74
|
zou/app/blueprints/entities/__init__.py,sha256=v-qt2dl3s3tmK_ur-cpDHNPmcL0A6xCybczyuidjUCo,713
|
|
75
|
-
zou/app/blueprints/entities/resources.py,sha256=
|
|
75
|
+
zou/app/blueprints/entities/resources.py,sha256=aeAKa903Qazyr2m_AXbEPUsFjslSFzK2aR5FnYN1voE,7155
|
|
76
76
|
zou/app/blueprints/events/__init__.py,sha256=Vb0gO7Bpj_2Dpx9hhKd2SZW2qqnJrFVoDpJjFOmoMZw,394
|
|
77
77
|
zou/app/blueprints/events/resources.py,sha256=ukx-WY9c7qhfYDB3BH8ni3UhQOjHFaI6xCtAKADOLWE,3182
|
|
78
78
|
zou/app/blueprints/export/__init__.py,sha256=W3U93VD-dHlozFVSt_RDvP7h7K_FqgHPLA__W5H1DkE,1574
|
|
@@ -89,19 +89,19 @@ zou/app/blueprints/export/csv/task_types.py,sha256=PCEEhOQcdOJv_38i-KNxbkGeNzmQ8
|
|
|
89
89
|
zou/app/blueprints/export/csv/tasks.py,sha256=CHFcs9S3eLIz6psE6Q6mZ-OSur_GrpBeLn98Nh9NNcA,4121
|
|
90
90
|
zou/app/blueprints/export/csv/time_spents.py,sha256=yYPtilOxfQD5mBwyh9h-PbTQBpab-vMrec35tYUw4fQ,2984
|
|
91
91
|
zou/app/blueprints/files/__init__.py,sha256=7Wty30JW2OXIn-tBFXOWWmPuHnsnxPpH3jNtHvvr9tY,3987
|
|
92
|
-
zou/app/blueprints/files/resources.py,sha256=
|
|
92
|
+
zou/app/blueprints/files/resources.py,sha256=G2Xal8di3LFTETT54VqOGEzXYObsln4oc3L-Lf8FpRY,84021
|
|
93
93
|
zou/app/blueprints/index/__init__.py,sha256=Dh3oQiirpg8RCkfVOuk3irIjSvUvuRf0jPxE6oGubz0,828
|
|
94
|
-
zou/app/blueprints/index/resources.py,sha256=
|
|
94
|
+
zou/app/blueprints/index/resources.py,sha256=nLLrFK-gJv0S_eDVPOS36xFes_3MjT3vGqDQHbI5kPk,14728
|
|
95
95
|
zou/app/blueprints/news/__init__.py,sha256=HxBXjC15dVbotNAZ0CLf02iwUjxJr20kgf8_kT_9nwM,505
|
|
96
|
-
zou/app/blueprints/news/resources.py,sha256=
|
|
96
|
+
zou/app/blueprints/news/resources.py,sha256=Zb3nelGgT4EsFyrFY6fPh-oFrjLAsmaHR3mevYYKI2M,11441
|
|
97
97
|
zou/app/blueprints/persons/__init__.py,sha256=0cnHHw3K_8OEMm0qOi3wKVomSAg9IJSnVjAXabMeHks,3893
|
|
98
|
-
zou/app/blueprints/persons/resources.py,sha256=
|
|
98
|
+
zou/app/blueprints/persons/resources.py,sha256=ooX3bIEYwEQPUeLGzbagEJpFBlxzpUAdDAJo2ICjMY4,46519
|
|
99
99
|
zou/app/blueprints/playlists/__init__.py,sha256=vuEk1F3hFHsmuKWhdepMoLyOzmNKDn1YrjjfcaIz0lQ,1596
|
|
100
|
-
zou/app/blueprints/playlists/resources.py,sha256=
|
|
100
|
+
zou/app/blueprints/playlists/resources.py,sha256=dD50WpKkIyaDar4nfYS2GfC_5e8mncV7yFKXuh7prY4,22719
|
|
101
101
|
zou/app/blueprints/previews/__init__.py,sha256=ihC6OQ9AUjnZ2JeMnjRh_tKGO0UmAjOwhZnOivc3BnQ,4460
|
|
102
102
|
zou/app/blueprints/previews/resources.py,sha256=mRFVMl4fi4mptE1qMG68GAIg868HMiE7AFnQYnszSAU,53345
|
|
103
|
-
zou/app/blueprints/projects/__init__.py,sha256=
|
|
104
|
-
zou/app/blueprints/projects/resources.py,sha256=
|
|
103
|
+
zou/app/blueprints/projects/__init__.py,sha256=ZX59ZmMIAI11zNy_RjLacOQnEcSJdwRIr68KwOYiB2k,5918
|
|
104
|
+
zou/app/blueprints/projects/resources.py,sha256=BrPwUtiMAsk8Lozph5gNHV42mj3_RIN-1iG20bp2P88,64602
|
|
105
105
|
zou/app/blueprints/search/__init__.py,sha256=QCjQIY_85l_orhdEiqav_GifjReuwsjZggN3V0GeUVY,356
|
|
106
106
|
zou/app/blueprints/search/resources.py,sha256=XhNewgF4y0Tj9TIZt-2b0c5Whu43YsoeLuNZG2EHFg4,4797
|
|
107
107
|
zou/app/blueprints/shots/__init__.py,sha256=EcG9qmAchlucqg1M6-RqWGfuKpa5Kq6RgyLZNSsjUr4,4225
|
|
@@ -110,12 +110,12 @@ zou/app/blueprints/source/__init__.py,sha256=H7K-4TDs4pc5EJvcYTYMJBHesxyqsE5-xq7
|
|
|
110
110
|
zou/app/blueprints/source/kitsu.py,sha256=4lWdqxaKDzwx-5POAIHIgZ6ODbDMOOVRxaSb_FOLcCk,5012
|
|
111
111
|
zou/app/blueprints/source/otio.py,sha256=5H3DlM0fAbKIbKob787Ve0F7a70fE1ihpXga14PPZ1M,13413
|
|
112
112
|
zou/app/blueprints/source/csv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
113
|
-
zou/app/blueprints/source/csv/assets.py,sha256=
|
|
113
|
+
zou/app/blueprints/source/csv/assets.py,sha256=ys9yJnoQUVr8S2i-u0RuwLCbucE2CWQS2uPyYQMamzM,10941
|
|
114
114
|
zou/app/blueprints/source/csv/base.py,sha256=1WcvpQv5FrJvE5nyRbJ1Nqrye4OgoTEBItYbHga-Uj4,4373
|
|
115
115
|
zou/app/blueprints/source/csv/casting.py,sha256=aaFK8565NWgm0_OaeY0Q2DI5T7QX3rr1Cntkv2myKLk,5614
|
|
116
116
|
zou/app/blueprints/source/csv/edits.py,sha256=NnxSqjAeeS_NvKywQPYJxvlOUiPEXUHLjGKcqiG4J_M,8384
|
|
117
117
|
zou/app/blueprints/source/csv/persons.py,sha256=QciJ47B3rAPyUQTAeToCUAhEai16J4s37oOErjdC_Vw,2582
|
|
118
|
-
zou/app/blueprints/source/csv/shots.py,sha256=
|
|
118
|
+
zou/app/blueprints/source/csv/shots.py,sha256=UeEhq0NqALE2MVJ8NH7JUJYmf-2DwiJgr80iVImDnhI,9894
|
|
119
119
|
zou/app/blueprints/source/csv/task_type_estimations.py,sha256=9UwuMIm-40J8EX_h8X8qZBVL7bDCWJK3UMGHWfd71yc,6485
|
|
120
120
|
zou/app/blueprints/source/shotgun/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
121
121
|
zou/app/blueprints/source/shotgun/assets.py,sha256=vuRvy0oUszImYRawrbWC2h7CHYSBvGXDJPoa6ZqpG_U,4980
|
|
@@ -135,9 +135,9 @@ zou/app/blueprints/source/shotgun/tasks.py,sha256=XXBRe9QhhS-kuZeV3HitOnpf7mmWVx
|
|
|
135
135
|
zou/app/blueprints/source/shotgun/team.py,sha256=GF7y2BwDeFJCiidtG68icfCi-uV1-b96YKiH8KR54iE,1819
|
|
136
136
|
zou/app/blueprints/source/shotgun/versions.py,sha256=8Mb35e5p3FLbbiu6AZb9tJErDKz2pPRBdIYu80Ayj7w,2292
|
|
137
137
|
zou/app/blueprints/tasks/__init__.py,sha256=udtTZJVViawRAPu8dO_OoyVzQTheLYWTHeTnrC-2RDA,4331
|
|
138
|
-
zou/app/blueprints/tasks/resources.py,sha256=
|
|
138
|
+
zou/app/blueprints/tasks/resources.py,sha256=WVNu30pj5snz1TXjla5ZzED2CkToTNAsmJF0RcYnYBk,62938
|
|
139
139
|
zou/app/blueprints/user/__init__.py,sha256=H9zCHcVobC6jq6dTToXKAjnZmDA0a9gChHiIP3BcZsc,4586
|
|
140
|
-
zou/app/blueprints/user/resources.py,sha256=
|
|
140
|
+
zou/app/blueprints/user/resources.py,sha256=kyNfqkMhAQ286fQmhHV2bM5Vl9kk7Wv_52cRwxo2gpM,49508
|
|
141
141
|
zou/app/file_trees/default.json,sha256=ryUrEmQYE8B_WkzCoQLgmem3N9yNwMIWx9G8p3HfG9o,2310
|
|
142
142
|
zou/app/file_trees/simple.json,sha256=VBI43Z3rjQxtTpVCq3ktUgS0UB8x-aTowKL9LXuXCFI,3149
|
|
143
143
|
zou/app/indexer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -200,7 +200,7 @@ zou/app/services/base_service.py,sha256=OZd0STFh-DyBBdwsmA7DMMnrwv4C8wJUbShvZ1is
|
|
|
200
200
|
zou/app/services/breakdown_service.py,sha256=-bH1KUq9-No_OKnQtWK4XEU1w7uDPJnzWFMrKNkS1K0,27593
|
|
201
201
|
zou/app/services/budget_service.py,sha256=uMU1vJr7kyxtkvMz_Nm7DyhW6qvSGYGqRHEQTxsHYCc,5468
|
|
202
202
|
zou/app/services/chats_service.py,sha256=pqnT-RCltdf9Dp4t-2NtOSawGk0jyNhVPTgERZ_nYvk,8297
|
|
203
|
-
zou/app/services/comments_service.py,sha256=
|
|
203
|
+
zou/app/services/comments_service.py,sha256=Y77sFEsMEf5Q9Od7RgLEmHwSB59_te-bJlX7s7syzfI,22264
|
|
204
204
|
zou/app/services/concepts_service.py,sha256=uH0leb23Op48wc1bHlUV2-I97QROsIemKr80F0UwnoM,11213
|
|
205
205
|
zou/app/services/custom_actions_service.py,sha256=fWISEOOdthadrxeHuacEel5Xj6msn0yWXJQDG1gzvsY,297
|
|
206
206
|
zou/app/services/deletion_service.py,sha256=UPojg4oyyCKjUObfwv9nY6tD0SVDeimpv0xgbcSmyyk,17372
|
|
@@ -229,7 +229,7 @@ zou/app/services/status_automations_service.py,sha256=tVio7Sj7inhvKS4UOyRhcdpwr_
|
|
|
229
229
|
zou/app/services/sync_service.py,sha256=iWxx1kOGEXympHmSBBQWtDZWNtumdxp8kppee0OefMo,41811
|
|
230
230
|
zou/app/services/tasks_service.py,sha256=ZLUi6_XhLU_SLwERFHx4QwcXdS-ncrVH_rIl-Lt-9yE,69993
|
|
231
231
|
zou/app/services/telemetry_services.py,sha256=xQm1h1t_JxSFW59zQGf4NuNdUi1UfMa_6pQ-ytRbmGA,1029
|
|
232
|
-
zou/app/services/time_spents_service.py,sha256=
|
|
232
|
+
zou/app/services/time_spents_service.py,sha256=h3YlhAAhfAxijmQe-32p2qZNu4h5J3lIh8fOjV0uy4Y,18394
|
|
233
233
|
zou/app/services/user_service.py,sha256=inFNPsAb11odskiidXAOzNGlY5S2DvFYuYCeGGN_1lc,52990
|
|
234
234
|
zou/app/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
235
235
|
zou/app/stores/auth_tokens_store.py,sha256=-qOJPybLHvnMOq3PWk073OW9HJwOHGhFLZeOIlX1UVw,1290
|
|
@@ -469,9 +469,9 @@ zou/remote/normalize_movie.py,sha256=zNfEY3N1UbAHZfddGONTg2Sff3ieLVWd4dfZa1dpnes
|
|
|
469
469
|
zou/remote/playlist.py,sha256=AsDo0bgYhDcd6DfNRV6r6Jj3URWwavE2ZN3VkKRPbLU,3293
|
|
470
470
|
zou/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
471
471
|
zou/utils/movie.py,sha256=d67fIL9dVBKt-E_qCGXRbNNdbJaJR5sHvZeX3hf8ldE,16559
|
|
472
|
-
zou-0.20.
|
|
473
|
-
zou-0.20.
|
|
474
|
-
zou-0.20.
|
|
475
|
-
zou-0.20.
|
|
476
|
-
zou-0.20.
|
|
477
|
-
zou-0.20.
|
|
472
|
+
zou-0.20.74.dist-info/licenses/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
|
|
473
|
+
zou-0.20.74.dist-info/METADATA,sha256=JHbyHNZzhvDcMKA0cso9abXsl70PRr8G5WD9mdd-IPc,6698
|
|
474
|
+
zou-0.20.74.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
475
|
+
zou-0.20.74.dist-info/entry_points.txt,sha256=PelQoIx3qhQ_Tmne7wrLY-1m2izuzgpwokoURwSohy4,130
|
|
476
|
+
zou-0.20.74.dist-info/top_level.txt,sha256=4S7G_jk4MzpToeDItHGjPhHx_fRdX52zJZWTD4SL54g,4
|
|
477
|
+
zou-0.20.74.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|