zou 0.19.51__py3-none-any.whl → 0.19.53__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/__init__.py +1 -1
- zou/app/blueprints/assets/__init__.py +22 -0
- zou/app/blueprints/assets/resources.py +240 -3
- zou/app/blueprints/auth/resources.py +26 -22
- zou/app/blueprints/chats/resources.py +2 -2
- zou/app/blueprints/crud/base.py +10 -6
- zou/app/blueprints/crud/day_off.py +3 -3
- zou/app/blueprints/crud/entity.py +3 -3
- zou/app/blueprints/crud/entity_type.py +15 -0
- zou/app/blueprints/crud/metadata_descriptor.py +16 -3
- zou/app/blueprints/crud/person.py +13 -15
- zou/app/blueprints/crud/preview_background_file.py +3 -3
- zou/app/blueprints/crud/project.py +5 -5
- zou/app/blueprints/crud/schedule_item.py +2 -2
- zou/app/blueprints/crud/task_type.py +3 -3
- zou/app/blueprints/persons/resources.py +2 -2
- zou/app/blueprints/previews/resources.py +31 -6
- zou/app/blueprints/projects/resources.py +1 -1
- zou/app/blueprints/shots/resources.py +2 -2
- zou/app/models/base.py +6 -1
- zou/app/models/entity.py +3 -5
- zou/app/services/assets_service.py +74 -1
- zou/app/services/breakdown_service.py +33 -3
- zou/app/services/deletion_service.py +5 -0
- zou/app/services/exception.py +1 -5
- zou/app/services/preview_files_service.py +2 -2
- zou/app/services/tasks_service.py +1 -1
- zou/app/services/time_spents_service.py +4 -4
- zou/app/swagger.py +15 -20
- zou/app/utils/query.py +53 -5
- zou/event_stream.py +1 -0
- zou/migrations/versions/59a7445a966c_add_entity_is_shared.py +41 -0
- {zou-0.19.51.dist-info → zou-0.19.53.dist-info}/METADATA +6 -6
- {zou-0.19.51.dist-info → zou-0.19.53.dist-info}/RECORD +39 -38
- {zou-0.19.51.dist-info → zou-0.19.53.dist-info}/WHEEL +1 -1
- {zou-0.19.51.dist-info → zou-0.19.53.dist-info}/LICENSE +0 -0
- {zou-0.19.51.dist-info → zou-0.19.53.dist-info}/entry_points.txt +0 -0
- {zou-0.19.51.dist-info → zou-0.19.53.dist-info}/top_level.txt +0 -0
|
@@ -158,7 +158,7 @@ def get_time_spents_for_year(
|
|
|
158
158
|
else:
|
|
159
159
|
query = query.filter(Task.project_id == project_id)
|
|
160
160
|
|
|
161
|
-
if department_ids
|
|
161
|
+
if department_ids:
|
|
162
162
|
query = query.join(TaskType).filter(
|
|
163
163
|
TaskType.department_id.in_(department_ids)
|
|
164
164
|
)
|
|
@@ -200,7 +200,7 @@ def get_time_spents_for_month(
|
|
|
200
200
|
else:
|
|
201
201
|
query = query.filter(Task.project_id == project_id)
|
|
202
202
|
|
|
203
|
-
if department_ids
|
|
203
|
+
if department_ids:
|
|
204
204
|
query = query.join(TaskType).filter(
|
|
205
205
|
TaskType.department_id.in_(department_ids)
|
|
206
206
|
)
|
|
@@ -255,7 +255,7 @@ def get_time_spents(
|
|
|
255
255
|
if project_ids is not None:
|
|
256
256
|
query = query.filter(Task.project_id.in_(project_ids))
|
|
257
257
|
|
|
258
|
-
if department_ids
|
|
258
|
+
if department_ids:
|
|
259
259
|
query = query.join(TaskType)
|
|
260
260
|
query = query.filter(TaskType.department_id.in_(department_ids))
|
|
261
261
|
except DataError:
|
|
@@ -430,7 +430,7 @@ def get_person_time_spent_entries(
|
|
|
430
430
|
else:
|
|
431
431
|
query = query.filter(Task.project_id == project_id)
|
|
432
432
|
|
|
433
|
-
if department_ids
|
|
433
|
+
if department_ids:
|
|
434
434
|
query = query.join(TaskType, TaskType.id == Task.task_type_id).filter(
|
|
435
435
|
TaskType.department_id.in_(department_ids)
|
|
436
436
|
)
|
zou/app/swagger.py
CHANGED
|
@@ -14,6 +14,7 @@ swagger_config = {
|
|
|
14
14
|
"static_url_path": "/docs",
|
|
15
15
|
"swagger_ui": True,
|
|
16
16
|
"specs_route": "/apidocs/",
|
|
17
|
+
"openapi": "3.0.2",
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
|
|
@@ -30,26 +31,18 @@ An easy to use Python client to access this API is available:
|
|
|
30
31
|
|
|
31
32
|
<p>Before you can use any of the endpoints outline below,
|
|
32
33
|
you will have to get a JWT token to authorize your requests.
|
|
34
|
+
</p>
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
<p>
|
|
37
|
+
You will find the information to retrieve it in the
|
|
38
|
+
<a href="#tag/Authentication">Zou documentation</a>.
|
|
39
|
+
</p>
|
|
36
40
|
|
|
37
|
-
The response is a JSON object, specifically you'll need to provide the ```access_token``` for your future requests.
|
|
38
|
-
|
|
39
|
-
Here is a complete authentication process as an example (again using curl):
|
|
40
|
-
```
|
|
41
|
-
$ curl -X POST <server_address>/api/auth/login -d "email=<youremail>&password=<yourpassword>"'
|
|
42
|
-
{{"login": true", "access_token": "eyJ0e...", ...}}
|
|
43
|
-
$ jwt=eyJ0e... # Store the access token for easier use
|
|
44
|
-
$ curl -H "Authorization: Bearer $jwt" <server_address>/api/data/projects
|
|
45
|
-
[{{...}},
|
|
46
|
-
{{...}}]
|
|
47
|
-
```
|
|
48
41
|
[OpenAPI definition](/openapi.json)
|
|
49
42
|
"""
|
|
50
43
|
|
|
51
44
|
swagger_template = {
|
|
52
|
-
"openapi": "3.
|
|
45
|
+
"openapi": "3.0.2",
|
|
53
46
|
"info": {
|
|
54
47
|
"title": "Kitsu API",
|
|
55
48
|
"description": description,
|
|
@@ -70,12 +63,14 @@ swagger_template = {
|
|
|
70
63
|
"host": "localhost:8080",
|
|
71
64
|
"basePath": "/api",
|
|
72
65
|
"schemes": ["http", "https"],
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
66
|
+
"components": {
|
|
67
|
+
"securitySchemes": {
|
|
68
|
+
"JWT Authorization": {
|
|
69
|
+
"name": "Authorization",
|
|
70
|
+
"in": "header",
|
|
71
|
+
"type": "apiKey",
|
|
72
|
+
"description": "Format in header: **Authorization: Bearer {token}**. \n\n Value example: Bearer xxxxx.yyyyy.zzzzz",
|
|
73
|
+
}
|
|
79
74
|
}
|
|
80
75
|
},
|
|
81
76
|
"security": [{"JWT Authorization": []}],
|
zou/app/utils/query.py
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import math
|
|
2
|
+
import orjson as json
|
|
3
|
+
import sqlalchemy.orm as orm
|
|
2
4
|
|
|
3
5
|
from zou.app import app
|
|
4
6
|
from zou.app.utils import fields, string
|
|
5
7
|
from sqlalchemy import func
|
|
8
|
+
from sqlalchemy.inspection import inspect
|
|
6
9
|
|
|
7
10
|
|
|
8
11
|
def get_query_criterions_from_request(request):
|
|
@@ -21,12 +24,57 @@ def apply_criterions_to_db_query(model, db_query, criterions):
|
|
|
21
24
|
"""
|
|
22
25
|
Apply criterions given in HTTP request to the sqlachemy db query object.
|
|
23
26
|
"""
|
|
24
|
-
if "name" in criterions and hasattr(model, "name"):
|
|
25
|
-
value = criterions["name"]
|
|
26
|
-
db_query = db_query.filter(model.name.ilike(value))
|
|
27
|
-
del criterions["name"]
|
|
28
27
|
|
|
29
|
-
|
|
28
|
+
many_join_filter = []
|
|
29
|
+
in_filter = []
|
|
30
|
+
name_filter = []
|
|
31
|
+
filters = {}
|
|
32
|
+
|
|
33
|
+
column_names = inspect(model).all_orm_descriptors.keys()
|
|
34
|
+
for key, value in criterions.items():
|
|
35
|
+
if key not in ["page", "relations"] and key in column_names:
|
|
36
|
+
field_key = getattr(model, key)
|
|
37
|
+
|
|
38
|
+
is_many_to_many_field = hasattr(
|
|
39
|
+
field_key, "property"
|
|
40
|
+
) and isinstance(
|
|
41
|
+
field_key.property, orm.properties.RelationshipProperty
|
|
42
|
+
)
|
|
43
|
+
value_is_list = (
|
|
44
|
+
hasattr(value, "__len__")
|
|
45
|
+
and len(value) > 0
|
|
46
|
+
and value[0] == "["
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
if key == "name" and field_key is not None:
|
|
50
|
+
name_filter.append(value)
|
|
51
|
+
|
|
52
|
+
elif is_many_to_many_field:
|
|
53
|
+
many_join_filter.append((key, value))
|
|
54
|
+
|
|
55
|
+
elif value_is_list:
|
|
56
|
+
value_array = json.loads(value)
|
|
57
|
+
in_filter.append(
|
|
58
|
+
field_key.in_(
|
|
59
|
+
[cast_value(value, field_key) for value in value_array]
|
|
60
|
+
)
|
|
61
|
+
)
|
|
62
|
+
else:
|
|
63
|
+
filters[key] = cast_value(value, field_key)
|
|
64
|
+
|
|
65
|
+
if filters:
|
|
66
|
+
db_query = db_query.filter_by(**filters)
|
|
67
|
+
|
|
68
|
+
for value in name_filter:
|
|
69
|
+
db_query = db_query.filter(model.name.ilike(value))
|
|
70
|
+
|
|
71
|
+
for id_filter in in_filter:
|
|
72
|
+
db_query = db_query.filter(id_filter)
|
|
73
|
+
|
|
74
|
+
for key, value in many_join_filter:
|
|
75
|
+
db_query = db_query.filter(getattr(model, key).any(id=value))
|
|
76
|
+
|
|
77
|
+
return db_query
|
|
30
78
|
|
|
31
79
|
|
|
32
80
|
def get_paginated_results(query, page, limit=None, relations=False):
|
zou/event_stream.py
CHANGED
|
@@ -11,6 +11,7 @@ from flask_jwt_extended import (
|
|
|
11
11
|
)
|
|
12
12
|
from flask_socketio import SocketIO, disconnect, join_room, emit
|
|
13
13
|
from flask_sqlalchemy import SQLAlchemy
|
|
14
|
+
|
|
14
15
|
from zou.app import config
|
|
15
16
|
from zou.app.stores import auth_tokens_store
|
|
16
17
|
from zou.app.utils.monitoring import init_monitoring
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"""Add Entity.is_shared
|
|
2
|
+
|
|
3
|
+
Revision ID: 59a7445a966c
|
|
4
|
+
Revises: ca28796a2a62
|
|
5
|
+
Create Date: 2024-08-16 17:31:59.331365
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from alembic import op
|
|
10
|
+
import sqlalchemy as sa
|
|
11
|
+
from sqlalchemy.sql import expression
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# revision identifiers, used by Alembic.
|
|
15
|
+
revision = "59a7445a966c"
|
|
16
|
+
down_revision = "ca28796a2a62"
|
|
17
|
+
branch_labels = None
|
|
18
|
+
depends_on = None
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def upgrade():
|
|
22
|
+
# ### commands auto generated by Alembic - please adjust! ###
|
|
23
|
+
with op.batch_alter_table("entity", schema=None) as batch_op:
|
|
24
|
+
batch_op.add_column(
|
|
25
|
+
sa.Column(
|
|
26
|
+
"is_shared",
|
|
27
|
+
sa.Boolean(),
|
|
28
|
+
nullable=False,
|
|
29
|
+
server_default=expression.false(),
|
|
30
|
+
)
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
# ### end Alembic commands ###
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def downgrade():
|
|
37
|
+
# ### commands auto generated by Alembic - please adjust! ###
|
|
38
|
+
with op.batch_alter_table("entity", schema=None) as batch_op:
|
|
39
|
+
batch_op.drop_column("is_shared")
|
|
40
|
+
|
|
41
|
+
# ### end Alembic commands ###
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: zou
|
|
3
|
-
Version: 0.19.
|
|
3
|
+
Version: 0.19.53
|
|
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
|
|
@@ -37,9 +37,9 @@ Requires-Dist: flask-sqlalchemy ==3.1.1
|
|
|
37
37
|
Requires-Dist: flask-fs2[s3,swift] ==0.7.27
|
|
38
38
|
Requires-Dist: flask-jwt-extended ==4.6.0
|
|
39
39
|
Requires-Dist: flask-migrate ==4.0.7
|
|
40
|
-
Requires-Dist: flask-socketio ==5.3.
|
|
40
|
+
Requires-Dist: flask-socketio ==5.3.7
|
|
41
41
|
Requires-Dist: flask ==3.0.3
|
|
42
|
-
Requires-Dist: gazu ==0.10.
|
|
42
|
+
Requires-Dist: gazu ==0.10.15
|
|
43
43
|
Requires-Dist: gevent-websocket ==0.10.1
|
|
44
44
|
Requires-Dist: gevent ==24.2.1
|
|
45
45
|
Requires-Dist: gunicorn ==23.0.0
|
|
@@ -60,18 +60,18 @@ Requires-Dist: pyotp ==2.9.0
|
|
|
60
60
|
Requires-Dist: pysaml2 ==7.5.0
|
|
61
61
|
Requires-Dist: python-nomad ==2.0.1
|
|
62
62
|
Requires-Dist: python-slugify ==8.0.4
|
|
63
|
-
Requires-Dist: python-socketio ==5.11.
|
|
63
|
+
Requires-Dist: python-socketio ==5.11.4
|
|
64
64
|
Requires-Dist: pytz ==2024.1
|
|
65
65
|
Requires-Dist: redis ==5.0.8
|
|
66
66
|
Requires-Dist: requests ==2.32.3
|
|
67
67
|
Requires-Dist: rq ==1.16.2
|
|
68
68
|
Requires-Dist: slackclient ==2.9.4
|
|
69
69
|
Requires-Dist: sqlalchemy-utils ==0.41.2
|
|
70
|
-
Requires-Dist: sqlalchemy ==2.0.
|
|
70
|
+
Requires-Dist: sqlalchemy ==2.0.34
|
|
71
71
|
Requires-Dist: ua-parser ==0.18.0
|
|
72
72
|
Requires-Dist: werkzeug ==3.0.4
|
|
73
73
|
Requires-Dist: numpy ==2.0.1 ; python_version == "3.9"
|
|
74
|
-
Requires-Dist: numpy ==2.1.
|
|
74
|
+
Requires-Dist: numpy ==2.1.1 ; python_version >= "3.10"
|
|
75
75
|
Provides-Extra: dev
|
|
76
76
|
Requires-Dist: wheel ; extra == 'dev'
|
|
77
77
|
Provides-Extra: lint
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
zou/__init__.py,sha256=
|
|
1
|
+
zou/__init__.py,sha256=pD0JAB0QjLmeBWMfIo8bPcKr4iY6NMWdWsfNhrZAyHQ,24
|
|
2
2
|
zou/cli.py,sha256=DHHf4mz33Bi0gGFJ0GdRUpjrMrMSQYyVubJFppHPZlU,18914
|
|
3
3
|
zou/debug.py,sha256=1fawPbkD4wn0Y9Gk0BiBFSa-CQe5agFi8R9uJYl2Uyk,520
|
|
4
|
-
zou/event_stream.py,sha256=
|
|
4
|
+
zou/event_stream.py,sha256=HXPN79RZlG4Y3dYTqkprm8iJPmOn80W7INULHR6GjC8,8246
|
|
5
5
|
zou/job_settings.py,sha256=WB_RkYxmh4ffQHqg63_wsUDiS0zP3yxiwrxK7DhHG0g,150
|
|
6
|
-
zou/app/__init__.py,sha256=
|
|
6
|
+
zou/app/__init__.py,sha256=AJEGrLTirr5zZmA8DVSjZedtTuDg6eg9rG4kXMimPnQ,6966
|
|
7
7
|
zou/app/api.py,sha256=JTB_IMVO8EOoyqx9KdRkiIix0chOLi0yGDY-verUJXA,5127
|
|
8
8
|
zou/app/config.py,sha256=wA12qGUc7cCVmuD6XNHJ2dJ9mR4-8GnqEFoiS_yJv9s,6544
|
|
9
9
|
zou/app/mixin.py,sha256=eYwfS_CUFvNmldaQXrjsN5mK_gX0wYrBFykfx60uUM8,4897
|
|
10
|
-
zou/app/swagger.py,sha256=
|
|
10
|
+
zou/app/swagger.py,sha256=Jr7zsMqJi0V4FledODOdu-aqqVE02jMFzhqVxHK0_2c,54158
|
|
11
11
|
zou/app/blueprints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
zou/app/blueprints/assets/__init__.py,sha256=
|
|
13
|
-
zou/app/blueprints/assets/resources.py,sha256=
|
|
12
|
+
zou/app/blueprints/assets/__init__.py,sha256=T2zhDagHjXF6jRwOQ8vqokZTkBHyY7XtTI0Rlooamjs,2931
|
|
13
|
+
zou/app/blueprints/assets/resources.py,sha256=hXcqnGkGhvx-4QiQE46VDBg-nz3BdjT0cBFCtX71-Dg,25571
|
|
14
14
|
zou/app/blueprints/auth/__init__.py,sha256=xP874bMWUnLIirOPSEbpe-Q2fBBQrxZGKd0tLZmNJXk,1128
|
|
15
|
-
zou/app/blueprints/auth/resources.py,sha256=
|
|
15
|
+
zou/app/blueprints/auth/resources.py,sha256=CAqlC8Q2Mw3grjL2bU_aZJQ18huwa1Kf3ym2sueH8Bg,45136
|
|
16
16
|
zou/app/blueprints/breakdown/__init__.py,sha256=Dp6GWSGxxWIedpyzTTEKpCRUYEo8oVNVyQhwNvTMmQM,1888
|
|
17
17
|
zou/app/blueprints/breakdown/resources.py,sha256=JY3j17kv7xPKV9S-XoOxNYivpGHlfZkXI5WuGtx3_Yk,13591
|
|
18
18
|
zou/app/blueprints/chats/__init__.py,sha256=YGmwGvddg3MgSYVIh-hmkX8t2em9_LblxBeJzFqFJD4,558
|
|
19
|
-
zou/app/blueprints/chats/resources.py,sha256=
|
|
19
|
+
zou/app/blueprints/chats/resources.py,sha256=pyTIMaHqErpoSKpqOogLa62syetv6Dg9mCXz_rzflN0,5920
|
|
20
20
|
zou/app/blueprints/comments/__init__.py,sha256=WqpJ7-_dK1cInGTFJAxQ7syZtPCotwq2oO20UEnk1h4,1532
|
|
21
21
|
zou/app/blueprints/comments/resources.py,sha256=_WoAnnv2uRLbc_fzg6XCeXF06_KNFS08r84YVN858Mc,19423
|
|
22
22
|
zou/app/blueprints/concepts/__init__.py,sha256=sP_P4mfYvfMcgeE6MHZYP3eD0Lz0Lwit5-CFuVnA-Jg,894
|
|
@@ -24,32 +24,32 @@ zou/app/blueprints/concepts/resources.py,sha256=maJNrBAWX0bKbDKtOZc3YFp4nTVtIdkk
|
|
|
24
24
|
zou/app/blueprints/crud/__init__.py,sha256=qn7xkEh2EG0mPS_RBmm0GgYr0O1jnmI8ymXZnFWZCz8,8361
|
|
25
25
|
zou/app/blueprints/crud/asset_instance.py,sha256=va3mw79aPKry2m9PYAmjVePTScigewDjwD1c672f0y0,1335
|
|
26
26
|
zou/app/blueprints/crud/attachment_file.py,sha256=FJA5nKli-9l4p-Mka-tNRNRFil6dNC7QMN3N2MBBN_w,1346
|
|
27
|
-
zou/app/blueprints/crud/base.py,sha256=
|
|
27
|
+
zou/app/blueprints/crud/base.py,sha256=Xug7fzv_aYFdHsf8Jty5753YmktVOL-7LtKIxBekdqY,16140
|
|
28
28
|
zou/app/blueprints/crud/chat.py,sha256=Sq1r0y9ANjS113PUpwgAhnjYsxxLKMCM-a7DJ_icF00,344
|
|
29
29
|
zou/app/blueprints/crud/chat_message.py,sha256=bEEUoV0sNzu5sntNS6fpLh5NC6wWiycWCXtTE-t4yG4,387
|
|
30
30
|
zou/app/blueprints/crud/comments.py,sha256=YH4cllfGloPMcIq1tgpT5pSvKTwNJ1zpkUssrK_OjiU,8334
|
|
31
31
|
zou/app/blueprints/crud/custom_action.py,sha256=Nf6S6YBxePg4-nfaPTroIYZGWt9fJEHC719DOKJ8R98,978
|
|
32
|
-
zou/app/blueprints/crud/day_off.py,sha256=
|
|
32
|
+
zou/app/blueprints/crud/day_off.py,sha256=ZjTNBUMH5gJrQ7xWjcAnnOxATi_YJ3or6IqLkO2PQlo,2511
|
|
33
33
|
zou/app/blueprints/crud/department.py,sha256=AAN_qxZDQGS-mR1kRS_2qGx1D7PKT3h_Ke3IXtJ_F90,973
|
|
34
|
-
zou/app/blueprints/crud/entity.py,sha256=
|
|
34
|
+
zou/app/blueprints/crud/entity.py,sha256=WdAmVoK1nwo_JmzVKls-DV-rK6miu3y9wZELGDo3Fqw,9731
|
|
35
35
|
zou/app/blueprints/crud/entity_link.py,sha256=PlHGy3RPDUVdwWtOpQegz-wZCcxe9FZw_80nUVBy1Ac,819
|
|
36
|
-
zou/app/blueprints/crud/entity_type.py,sha256=
|
|
36
|
+
zou/app/blueprints/crud/entity_type.py,sha256=LT25rqkD--X0LzQdzwTMLmDYqRLepARvTSRD-sjeNfw,2361
|
|
37
37
|
zou/app/blueprints/crud/event.py,sha256=bay2ggg5Oa69lOxNYGkHVQdSKuMxGhk2wqWP7QApKUg,589
|
|
38
38
|
zou/app/blueprints/crud/file_status.py,sha256=g2YM_0pscO0GAd-VOzTnl7EF57BS_7zbAwCt1WlNujs,509
|
|
39
|
-
zou/app/blueprints/crud/metadata_descriptor.py,sha256=
|
|
39
|
+
zou/app/blueprints/crud/metadata_descriptor.py,sha256=Dc9_HOPCroqI7XDPiO6nrbmLfzaRIR0pFgg41Lq2sj0,2063
|
|
40
40
|
zou/app/blueprints/crud/milestone.py,sha256=UIMsyCNS7ZRePjo08yyzubLEo6fcK-RAsVvrfjXoclA,839
|
|
41
41
|
zou/app/blueprints/crud/news.py,sha256=0baKn4OLEVY7ljWgpJEypo2Pgzhlp8GJxjim78oqLtg,344
|
|
42
42
|
zou/app/blueprints/crud/notification.py,sha256=A-KNH0IDNCXlE4AddNxvmsD_7a9HqHGo_rI-Z_pdzus,530
|
|
43
43
|
zou/app/blueprints/crud/organisation.py,sha256=bNGo3Dtir2o_cHk0vDPs4cJw7mRWlSwPf2oA4lDQUyU,859
|
|
44
44
|
zou/app/blueprints/crud/output_file.py,sha256=jWSagq4LxwtFQH0XL_LjXaiW9FRn8T4k0tv1EbmPfg0,3954
|
|
45
45
|
zou/app/blueprints/crud/output_type.py,sha256=eYJXLPkUCRj9-v5mc3rxqEHM3yycmf6rVAoaOfbnAcU,1998
|
|
46
|
-
zou/app/blueprints/crud/person.py,sha256=
|
|
46
|
+
zou/app/blueprints/crud/person.py,sha256=qKgko2ZlGCHj_7SC9NW9hFHrjblk18khS_7bGKheyIs,9177
|
|
47
47
|
zou/app/blueprints/crud/playlist.py,sha256=ZXaz-hHPej6XYKo_RUfJ2QnGOh2W8-y9hTkPZCUp7Zk,1876
|
|
48
|
-
zou/app/blueprints/crud/preview_background_file.py,sha256=
|
|
48
|
+
zou/app/blueprints/crud/preview_background_file.py,sha256=WzOfag5qhz5B3-XDObYRC8TO4X-kIo1sHOnMCV62IEo,2437
|
|
49
49
|
zou/app/blueprints/crud/preview_file.py,sha256=252EDEdF-wQaL9ZhqQv5j9z_JKK5WeYwidJfFafArjo,3831
|
|
50
|
-
zou/app/blueprints/crud/project.py,sha256=
|
|
50
|
+
zou/app/blueprints/crud/project.py,sha256=rU79oZm-awKMC0k-qNpn-k2D498avge4vxYVOlrR2TQ,8196
|
|
51
51
|
zou/app/blueprints/crud/project_status.py,sha256=7q78eGCJAg4ZofqBJWBeHsLVpmtxfP9Blpg8-ZYduC8,526
|
|
52
|
-
zou/app/blueprints/crud/schedule_item.py,sha256=
|
|
52
|
+
zou/app/blueprints/crud/schedule_item.py,sha256=qrUJxkK0ib8iocwjQ0iPd3GaZzy-kdx4_uJcLZnJMQY,1370
|
|
53
53
|
zou/app/blueprints/crud/search_filter.py,sha256=qR0crZFfaOd2YxFcPMKhAj1SXCc-YW9Wk4UA07dDgMQ,393
|
|
54
54
|
zou/app/blueprints/crud/search_filter_group.py,sha256=bdCLP1EmSatSNQXW8qYjqXQ1_dqluxUeEe7wEpcP_R0,424
|
|
55
55
|
zou/app/blueprints/crud/software.py,sha256=8UmSPMX-V210nlX0k_RafV930tYqPayt2mBOyDSsqNQ,1960
|
|
@@ -58,7 +58,7 @@ zou/app/blueprints/crud/studio.py,sha256=GviLxRFt8SDE9F58MoVLdXLE1DXq9IlaZB23RrQ
|
|
|
58
58
|
zou/app/blueprints/crud/subscription.py,sha256=xFV_nvRg2ow6E0JWo4VHgeK_SkKX3K8i80thY3qRCl0,392
|
|
59
59
|
zou/app/blueprints/crud/task.py,sha256=a-BJ5mgE3dRDUiE-KaZjho7vgJ2qbm9D6d36ZWhWrZA,5672
|
|
60
60
|
zou/app/blueprints/crud/task_status.py,sha256=SAWI7qG_9QsBZY5CpjZABYE0zuCimVzhfZfyEfQ_Rj8,1468
|
|
61
|
-
zou/app/blueprints/crud/task_type.py,sha256=
|
|
61
|
+
zou/app/blueprints/crud/task_type.py,sha256=c_UIIEJjYpwuy7DB2zADWCppr4wOOyDNqhc4JaeSaJM,1801
|
|
62
62
|
zou/app/blueprints/crud/time_spent.py,sha256=9tfoKJ77OEDTnpKHshO3UMDz_KCoyLq1CWquInm5DY0,3057
|
|
63
63
|
zou/app/blueprints/crud/working_file.py,sha256=mGg1tkmlhyM0-18TWMoEPVIcwT-JTq5qhLx9umH0OGg,3439
|
|
64
64
|
zou/app/blueprints/edits/__init__.py,sha256=jR6dURRPHZJcU4DVFsNghLW1iGm3CwEzs1LPbdof158,1152
|
|
@@ -87,17 +87,17 @@ zou/app/blueprints/index/resources.py,sha256=N0u0RWxThnRndfb5dMy4o2E45ePc3jxWRDw
|
|
|
87
87
|
zou/app/blueprints/news/__init__.py,sha256=HxBXjC15dVbotNAZ0CLf02iwUjxJr20kgf8_kT_9nwM,505
|
|
88
88
|
zou/app/blueprints/news/resources.py,sha256=6e3Ex_Q-djxWDjQQ-eD1fBcylea6XaJphO7Tl9zWKcY,7057
|
|
89
89
|
zou/app/blueprints/persons/__init__.py,sha256=0cnHHw3K_8OEMm0qOi3wKVomSAg9IJSnVjAXabMeHks,3893
|
|
90
|
-
zou/app/blueprints/persons/resources.py,sha256=
|
|
90
|
+
zou/app/blueprints/persons/resources.py,sha256=RsN8ix67zRU7NNeMY7uFCXkU2ntJlmKF6DizmGVYdE0,42684
|
|
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=
|
|
94
|
+
zou/app/blueprints/previews/resources.py,sha256=OO6hQxyYo941ANtSapl9DGYpSuto8NeE8jtvx1Hcbek,48028
|
|
95
95
|
zou/app/blueprints/projects/__init__.py,sha256=Pn3fA5bpNFEPBzxTKJ2foV6osZFflXXSM2l2uZh3ktM,3927
|
|
96
|
-
zou/app/blueprints/projects/resources.py,sha256=
|
|
96
|
+
zou/app/blueprints/projects/resources.py,sha256=E91Vj9EzId2pxiL50JRfrThiyif1PmzWS1oPeMThzQI,31544
|
|
97
97
|
zou/app/blueprints/search/__init__.py,sha256=QCjQIY_85l_orhdEiqav_GifjReuwsjZggN3V0GeUVY,356
|
|
98
98
|
zou/app/blueprints/search/resources.py,sha256=ni-dX8Xfib_0FonLttoXgntXBR957-xhifPSQHHnOnY,2696
|
|
99
99
|
zou/app/blueprints/shots/__init__.py,sha256=HfgLneZBYUMa2OGwIgEZTz8zrIEYFRiYmRbreBPYeYw,4076
|
|
100
|
-
zou/app/blueprints/shots/resources.py,sha256=
|
|
100
|
+
zou/app/blueprints/shots/resources.py,sha256=_Zkxk_XFwuT_b6vWOx9p3VyMuD2PAo-xKJRATsGjPdQ,49965
|
|
101
101
|
zou/app/blueprints/source/__init__.py,sha256=H7K-4TDs4pc5EJvcYTYMJBHesxyqsE5-xq7J8ckOS2g,6093
|
|
102
102
|
zou/app/blueprints/source/kitsu.py,sha256=4lWdqxaKDzwx-5POAIHIgZ6ODbDMOOVRxaSb_FOLcCk,5012
|
|
103
103
|
zou/app/blueprints/source/otio.py,sha256=WkzpKylVkNlbY_jwf6uV5-HPylrktQznOcbCs_p8TDQ,13391
|
|
@@ -137,7 +137,7 @@ zou/app/indexer/indexing.py,sha256=rzZxtAInXVZ2cZES-6QJw3NJlRpSPpKLxL0eP8l0onI,3
|
|
|
137
137
|
zou/app/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
138
|
zou/app/models/asset_instance.py,sha256=ajfyA3qe6IjoNvd3mM8yr7wk9p4R9WO0qTfqT9ijntg,1714
|
|
139
139
|
zou/app/models/attachment_file.py,sha256=d3gldEyKhRyLqGQHBbWVwtmPgtq7oxipxHanZUKWVGI,1377
|
|
140
|
-
zou/app/models/base.py,sha256=
|
|
140
|
+
zou/app/models/base.py,sha256=vZoPzdixyRbk0SoDJGEbQ9LFouBaDCA7gVSZ1o_SIhI,8808
|
|
141
141
|
zou/app/models/build_job.py,sha256=aW6KZXkyMP9d3g8fvcOYk9EAoNMw-6IleZdWbaqLLVw,1286
|
|
142
142
|
zou/app/models/chat.py,sha256=yeKqe6o7RRAExx8xD-7dRXzUPhq_dwZffrbIG4HQp1w,1189
|
|
143
143
|
zou/app/models/chat_message.py,sha256=8w7xtoqCW_CRoGKrF4ba5w-oyAHIRh-2ms3p5sQQor4,874
|
|
@@ -147,7 +147,7 @@ zou/app/models/data_import_error.py,sha256=dCyzaX0KATa0F8h5V3sTPlXz-XNl1VNkflRfJ
|
|
|
147
147
|
zou/app/models/day_off.py,sha256=WMZs7oMhUBpMnNyvhgpl1j6egZ5J0drnrF1dH3N5cII,691
|
|
148
148
|
zou/app/models/department.py,sha256=ZUzZXemrHJOxoEgALCiMqGww1wnEvxTL12k6KmkWoW4,418
|
|
149
149
|
zou/app/models/desktop_login_log.py,sha256=fdgqEXAQkHw6CtRU_Y-CuboaZA9QWJc9OzklvbdPBJY,546
|
|
150
|
-
zou/app/models/entity.py,sha256=
|
|
150
|
+
zou/app/models/entity.py,sha256=KfRurXnssOGkRRGLz1UA1U27tZDJMeaRPTkADbGo094,8550
|
|
151
151
|
zou/app/models/entity_type.py,sha256=747igCypAv5n-Lf-xl_nVEO3MzyUPQu5qgH_jksnsrY,1871
|
|
152
152
|
zou/app/models/event.py,sha256=WNZ9mSh5kIIg-W5CDKfohtAE_ObXbmgRB5JMyWRZktA,677
|
|
153
153
|
zou/app/models/file_status.py,sha256=pdYnI4empolJ2o2yHSEqp5ZTra4zyXiZPx3bE599GLo,351
|
|
@@ -179,21 +179,21 @@ zou/app/models/task_type.py,sha256=IsixVAfz3pyMf0eQw8x-uFNM9OHNkZpsPLEz_VNQ0hA,1
|
|
|
179
179
|
zou/app/models/time_spent.py,sha256=n7i3FO9g1eE_zATkItoCgrGVqq3iMSfdlKSveEZPloc,795
|
|
180
180
|
zou/app/models/working_file.py,sha256=q0LM3s1ziw_9AmmPDCkwyf1-TJkWTBMgo2LdHyVRwxg,1509
|
|
181
181
|
zou/app/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
182
|
-
zou/app/services/assets_service.py,sha256=
|
|
182
|
+
zou/app/services/assets_service.py,sha256=U9sOQNKQWUPO7cKtX6U_lZCC3vdE31oRjpZJ-nx7pL0,23554
|
|
183
183
|
zou/app/services/auth_service.py,sha256=hQpNb21xlr5EiTrXnzpFb4W4GDtglubqA2z_-YIBfnk,22897
|
|
184
184
|
zou/app/services/backup_service.py,sha256=_ZtZp6wkcVYnHxBosziwLGdrTvsUttXGphiydq53iy8,4840
|
|
185
185
|
zou/app/services/base_service.py,sha256=OZd0STFh-DyBBdwsmA7DMMnrwv4C8wJUbShvZ1isndU,1383
|
|
186
|
-
zou/app/services/breakdown_service.py,sha256=
|
|
186
|
+
zou/app/services/breakdown_service.py,sha256=n6xLoFGSEH2JXUKiXKq2NGVZZg_AIORtA05d5D4uaB4,27480
|
|
187
187
|
zou/app/services/chats_service.py,sha256=V1RmQeQnsH1xvtbs6wcjEpudQS547eJBM7bgJr9-qYM,8270
|
|
188
188
|
zou/app/services/comments_service.py,sha256=CUr0CZGkR95OrHDRJnhAZAikBLtWhM-5uLIoxI4gNtA,18589
|
|
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
|
-
zou/app/services/deletion_service.py,sha256=
|
|
191
|
+
zou/app/services/deletion_service.py,sha256=GdPWmw60_EmWxJohvqQ9KRcION7_PIdQgbl7nr2g2mY,17429
|
|
192
192
|
zou/app/services/edits_service.py,sha256=KTk5KUJx1yB-mRka8rQXMgQLIcWq4mNYZfnVhVlKwyQ,12122
|
|
193
193
|
zou/app/services/emails_service.py,sha256=ZSwfL3iO9mIyHttqH61vI4WA-DTVdBk7lo6t9zbvfDA,11922
|
|
194
194
|
zou/app/services/entities_service.py,sha256=j_dyMHUVISqXFkxm2ydqvAo0nbcEE7_5v9jFauZhSe4,16327
|
|
195
195
|
zou/app/services/events_service.py,sha256=_gU19herxiAo47WRxVNhvl7v-RKhp-8wZ3gAiHKpOzI,2716
|
|
196
|
-
zou/app/services/exception.py,sha256=
|
|
196
|
+
zou/app/services/exception.py,sha256=mcDVjWGICMIlOi4nsN2EQ7nc3V70rAC-iCmXt6kOXbA,4240
|
|
197
197
|
zou/app/services/file_tree_service.py,sha256=8JNBDgnXtV-AmSJ3gnUGB4oSwLjPgi1WYyL0Kc98JRE,33875
|
|
198
198
|
zou/app/services/files_service.py,sha256=df1_9v-vwE5HVi9XjtilTPWHuiWunvrwPyQh_IXupNM,28517
|
|
199
199
|
zou/app/services/index_service.py,sha256=1w8rGJ7ArYC13B43hD4JOPtVhaRsbseJVVY-GnU_3tA,9874
|
|
@@ -202,7 +202,7 @@ zou/app/services/news_service.py,sha256=ltMVObZiNpSat4qze4z6W5zoy9IdPXiIfsqSr2aw
|
|
|
202
202
|
zou/app/services/notifications_service.py,sha256=7GDRio_mGaRYV5BHOAdpxBZjA_LLYUfVpbwZqy1n9pI,15685
|
|
203
203
|
zou/app/services/persons_service.py,sha256=06CyF--QnGVkjvZPkAYIBz8V-P_Nbb4Iv1lkHQWqh4k,16310
|
|
204
204
|
zou/app/services/playlists_service.py,sha256=pAlPHET4jNdST5jsmJrFUkf1SVhfSoML9zdNpZ_88l4,32439
|
|
205
|
-
zou/app/services/preview_files_service.py,sha256=
|
|
205
|
+
zou/app/services/preview_files_service.py,sha256=C3085NjeCoqA8-3tkogFHYWxZ1BJHzKqjZUyd7K_S_Y,35608
|
|
206
206
|
zou/app/services/projects_service.py,sha256=_J8hIHy3MX5MsdEMRIKNfbyewwhxtMEcc_ymeHBsF38,21434
|
|
207
207
|
zou/app/services/scenes_service.py,sha256=iXN19HU4njPF5VtZXuUrVJ-W23ZQuQNPC3ADXltbWtU,992
|
|
208
208
|
zou/app/services/schedule_service.py,sha256=E99HKYsXgnK2sw58fw-NNHXWBgVJiA60upztjkNSCaM,6989
|
|
@@ -210,9 +210,9 @@ zou/app/services/shots_service.py,sha256=Y1oTewc2TNxwPzU5CZFfEhjJznjR54a9GTirFZx
|
|
|
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=EunfXlma_IIb7011A_xLQLVQGAi-MteKgm2Y2NAxvMs,41586
|
|
213
|
-
zou/app/services/tasks_service.py,sha256=
|
|
213
|
+
zou/app/services/tasks_service.py,sha256=IoogHBoZhbJegnl5SYGgOaBp2YVqrL22Gccjfp8dPn8,69335
|
|
214
214
|
zou/app/services/telemetry_services.py,sha256=xQm1h1t_JxSFW59zQGf4NuNdUi1UfMa_6pQ-ytRbmGA,1029
|
|
215
|
-
zou/app/services/time_spents_service.py,sha256=
|
|
215
|
+
zou/app/services/time_spents_service.py,sha256=H9X-60s6oqtY9rtU-K2jKwUSljfkdGlf_9wMr3iVfIA,15158
|
|
216
216
|
zou/app/services/user_service.py,sha256=BiOhPV7O-vowet7jOksjXk2V4yxZkdqsIyNboJ-Oz_A,46595
|
|
217
217
|
zou/app/stores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
218
218
|
zou/app/stores/auth_tokens_store.py,sha256=adcGe3SxfY4y_tP57HIR2SZbnu_Amqk-dAGVZIcJQ9c,1237
|
|
@@ -240,7 +240,7 @@ zou/app/utils/git.py,sha256=MhmAYvEY-bXsnLvcHUW_NY5V636lJL3H-cdNrTHgLGk,114
|
|
|
240
240
|
zou/app/utils/logs.py,sha256=lB6kyFmeANxCILUULLqGN8fuq9IY5FcbrVWmLdqWs2U,1404
|
|
241
241
|
zou/app/utils/monitoring.py,sha256=xOwyfM-7ZKWNtOxmX2WB1fOav5NpY6k8Tmuhli0nMBs,2082
|
|
242
242
|
zou/app/utils/permissions.py,sha256=Oq91C_lN6aGVCtCVUqQhijMQEjXOiMezbngpjybzzQk,3426
|
|
243
|
-
zou/app/utils/query.py,sha256=
|
|
243
|
+
zou/app/utils/query.py,sha256=q8ETGPAqnz0Pt9xWoQt5o7FFAVYUKVCJiWpwefIr-iU,4592
|
|
244
244
|
zou/app/utils/remote_job.py,sha256=QPxcCWEv-NM1Q4IQawAyJAiSORwkMeOlByQb9OCShEw,2522
|
|
245
245
|
zou/app/utils/saml.py,sha256=b869bvaTR4E4CzOK2gbaN9h6JVkU6aVb1v8_F_ofWDY,1837
|
|
246
246
|
zou/app/utils/shell.py,sha256=D30NuOzr1D6jsa9OF69JYXyqYNhtIdnfKSVYW4irbz8,405
|
|
@@ -304,6 +304,7 @@ zou/migrations/versions/556526e47daa_.py,sha256=XvDBc0o4l76Rf1FBXb5sopNHiGEe-R8t
|
|
|
304
304
|
zou/migrations/versions/57222395f2be_add_statusautomation_import_last_revision.py,sha256=rPRvyxfrtEtFywGuBkfB8VLEs3EUytgUyA8xB8vtH4A,1039
|
|
305
305
|
zou/migrations/versions/5798d2c9020b_change_person_role_to_choicetype.py,sha256=Ll-sR4wYtJ_mbQw7Ve6JnGq6W6KV70f7pHW8zebkMh0,1349
|
|
306
306
|
zou/migrations/versions/590aa1ffe731_add_notifications_enabled_flag.py,sha256=d-vRUQzI1rZlPinTqAabGOTa3pHLpBjrfa01cIF4VGY,723
|
|
307
|
+
zou/migrations/versions/59a7445a966c_add_entity_is_shared.py,sha256=pFuBaxpNrARVQb7oeGq-ZMJgsO73E_Ak0vOnhIsYmCQ,975
|
|
307
308
|
zou/migrations/versions/5a291251823c_add_max_retake_parameter.py,sha256=O5N92ZgfFGqyGcOybSQiN6Ie2npQ3Yu_cPZNzt3SAxs,690
|
|
308
309
|
zou/migrations/versions/5ab9d7a75887_.py,sha256=6kIF_t0qkDhJhqi8EABRSeMpsHlxe_-FXf1XKoeDoYI,335
|
|
309
310
|
zou/migrations/versions/5b0fcbb94f24_.py,sha256=ysHRLsOL3cv0_daFpd3uqH7gtYc75zbeqpaqOxmZhuk,829
|
|
@@ -410,9 +411,9 @@ zou/remote/normalize_movie.py,sha256=zNfEY3N1UbAHZfddGONTg2Sff3ieLVWd4dfZa1dpnes
|
|
|
410
411
|
zou/remote/playlist.py,sha256=AsDo0bgYhDcd6DfNRV6r6Jj3URWwavE2ZN3VkKRPbLU,3293
|
|
411
412
|
zou/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
412
413
|
zou/utils/movie.py,sha256=u9LCEOvmkxwm-KiZ6jKNdB9LSC6XXUDwJpVx8LkDwJg,16416
|
|
413
|
-
zou-0.19.
|
|
414
|
-
zou-0.19.
|
|
415
|
-
zou-0.19.
|
|
416
|
-
zou-0.19.
|
|
417
|
-
zou-0.19.
|
|
418
|
-
zou-0.19.
|
|
414
|
+
zou-0.19.53.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
|
|
415
|
+
zou-0.19.53.dist-info/METADATA,sha256=mQHTR0rn7ZZhoKkAPGml6Df6-U1fAs0g3NXrmPXDEz4,6704
|
|
416
|
+
zou-0.19.53.dist-info/WHEEL,sha256=5Mi1sN9lKoFv_gxcPtisEVrJZihrm_beibeg5R6xb4I,91
|
|
417
|
+
zou-0.19.53.dist-info/entry_points.txt,sha256=PelQoIx3qhQ_Tmne7wrLY-1m2izuzgpwokoURwSohy4,130
|
|
418
|
+
zou-0.19.53.dist-info/top_level.txt,sha256=4S7G_jk4MzpToeDItHGjPhHx_fRdX52zJZWTD4SL54g,4
|
|
419
|
+
zou-0.19.53.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|