zou 0.20.56__py3-none-any.whl → 0.20.58__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/previews/resources.py +2 -0
- zou/app/models/task_status.py +6 -0
- zou/app/services/comments_service.py +1 -4
- zou/app/services/tasks_service.py +5 -3
- zou/app/utils/commands.py +1 -1
- zou/event_stream.py +15 -7
- zou/migrations/versions/4d585b6956f2_add_taskstatus_is_wip.py +87 -0
- {zou-0.20.56.dist-info → zou-0.20.58.dist-info}/METADATA +2 -2
- {zou-0.20.56.dist-info → zou-0.20.58.dist-info}/RECORD +14 -13
- {zou-0.20.56.dist-info → zou-0.20.58.dist-info}/WHEEL +0 -0
- {zou-0.20.56.dist-info → zou-0.20.58.dist-info}/entry_points.txt +0 -0
- {zou-0.20.56.dist-info → zou-0.20.58.dist-info}/licenses/LICENSE +0 -0
- {zou-0.20.56.dist-info → zou-0.20.58.dist-info}/top_level.txt +0 -0
zou/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.20.
|
|
1
|
+
__version__ = "0.20.58"
|
zou/app/models/task_status.py
CHANGED
|
@@ -25,6 +25,12 @@ class TaskStatus(db.Model, BaseMixin, SerializerMixin):
|
|
|
25
25
|
is_retake = db.Column(db.Boolean(), default=False)
|
|
26
26
|
is_feedback_request = db.Column(db.Boolean(), default=False, index=True)
|
|
27
27
|
is_default = db.Column(db.Boolean(), default=False, index=True)
|
|
28
|
+
is_wip = db.Column(
|
|
29
|
+
db.Boolean(),
|
|
30
|
+
server_default=expression.false(),
|
|
31
|
+
default=False,
|
|
32
|
+
index=True,
|
|
33
|
+
)
|
|
28
34
|
shotgun_id = db.Column(db.Integer)
|
|
29
35
|
|
|
30
36
|
for_concept = db.Column(
|
|
@@ -159,10 +159,7 @@ def _manage_status_change(task_status, task, comment):
|
|
|
159
159
|
if task_status["is_feedback_request"]:
|
|
160
160
|
new_data["end_date"] = date_helpers.get_utc_now_datetime()
|
|
161
161
|
|
|
162
|
-
if
|
|
163
|
-
task_status["short_name"] == "wip"
|
|
164
|
-
and task["real_start_date"] is None
|
|
165
|
-
):
|
|
162
|
+
if task_status["is_wip"] and task["real_start_date"] is None:
|
|
166
163
|
new_data["real_start_date"] = datetime.datetime.now(
|
|
167
164
|
datetime.timezone.utc
|
|
168
165
|
)
|
|
@@ -1305,6 +1305,7 @@ def get_or_create_status(
|
|
|
1305
1305
|
is_retake=False,
|
|
1306
1306
|
is_feedback_request=False,
|
|
1307
1307
|
is_default=False,
|
|
1308
|
+
is_wip=False,
|
|
1308
1309
|
for_concept=False,
|
|
1309
1310
|
is_artist_allowed=True,
|
|
1310
1311
|
is_client_allowed=True,
|
|
@@ -1336,6 +1337,7 @@ def get_or_create_status(
|
|
|
1336
1337
|
for_concept=for_concept,
|
|
1337
1338
|
is_artist_allowed=is_artist_allowed,
|
|
1338
1339
|
is_client_allowed=is_client_allowed,
|
|
1340
|
+
is_wip=is_wip,
|
|
1339
1341
|
)
|
|
1340
1342
|
events.emit("task-status:new", {"task_status_id": task_status.id})
|
|
1341
1343
|
return task_status.serialize()
|
|
@@ -1792,7 +1794,7 @@ def reset_task_data(task_id):
|
|
|
1792
1794
|
TaskStatus.is_retake,
|
|
1793
1795
|
TaskStatus.is_feedback_request,
|
|
1794
1796
|
TaskStatus.is_done,
|
|
1795
|
-
TaskStatus.
|
|
1797
|
+
TaskStatus.is_wip,
|
|
1796
1798
|
)
|
|
1797
1799
|
.all()
|
|
1798
1800
|
)
|
|
@@ -1803,13 +1805,13 @@ def reset_task_data(task_id):
|
|
|
1803
1805
|
task_status_is_retake,
|
|
1804
1806
|
task_status_is_feedback_request,
|
|
1805
1807
|
task_status_is_done,
|
|
1806
|
-
|
|
1808
|
+
task_status_is_wip,
|
|
1807
1809
|
) in comments:
|
|
1808
1810
|
if task_status_is_retake and not previous_is_retake:
|
|
1809
1811
|
retake_count += 1
|
|
1810
1812
|
previous_is_retake = task_status_is_retake
|
|
1811
1813
|
|
|
1812
|
-
if
|
|
1814
|
+
if task_status_is_wip and real_start_date is None:
|
|
1813
1815
|
real_start_date = comment.created_at
|
|
1814
1816
|
|
|
1815
1817
|
if task_status_is_feedback_request:
|
zou/app/utils/commands.py
CHANGED
|
@@ -168,7 +168,7 @@ def init_data():
|
|
|
168
168
|
|
|
169
169
|
tasks_service.get_default_status()
|
|
170
170
|
tasks_service.get_or_create_status(
|
|
171
|
-
"Work In Progress", "wip", "#3273dc"
|
|
171
|
+
"Work In Progress", "wip", "#3273dc", is_wip=True
|
|
172
172
|
)
|
|
173
173
|
tasks_service.get_or_create_status(
|
|
174
174
|
"Waiting For Approval", "wfa", "#ab26ff", is_feedback_request=True
|
zou/event_stream.py
CHANGED
|
@@ -54,7 +54,7 @@ def _get_empty_room(current_frame=0):
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
def _get_room_from_data(data):
|
|
57
|
-
room_id = data
|
|
57
|
+
room_id = data.get("playlist_id", "0")
|
|
58
58
|
return rooms_data.get(room_id, _get_empty_room()), room_id
|
|
59
59
|
|
|
60
60
|
|
|
@@ -80,7 +80,7 @@ def _emit_people_updated(room_id, people):
|
|
|
80
80
|
|
|
81
81
|
|
|
82
82
|
def _update_room_playing_status(data, room):
|
|
83
|
-
room["playlist_id"] = data.get("playlist_id",
|
|
83
|
+
room["playlist_id"] = data.get("playlist_id", "")
|
|
84
84
|
room["user_id"] = data.get("user_id", False)
|
|
85
85
|
room["local_id"] = data.get("local_id", False)
|
|
86
86
|
room["is_playing"] = data.get("is_playing", False)
|
|
@@ -228,38 +228,46 @@ def on_room_updated(data, only_newcomer=False):
|
|
|
228
228
|
@socketio.on("preview-room:add-annotation", namespace="/events")
|
|
229
229
|
@jwt_required()
|
|
230
230
|
def on_add_annotation(data):
|
|
231
|
-
room_id = data
|
|
231
|
+
room_id = data.get("playlist_id", "")
|
|
232
232
|
emit("preview-room:add-annotation", data, room=room_id)
|
|
233
233
|
|
|
234
234
|
|
|
235
235
|
@socketio.on("preview-room:remove-annotation", namespace="/events")
|
|
236
236
|
@jwt_required()
|
|
237
237
|
def on_remove_annotation(data):
|
|
238
|
-
room_id = data
|
|
238
|
+
room_id = data.get("playlist_id", "")
|
|
239
239
|
emit("preview-room:remove-annotation", data, room=room_id)
|
|
240
240
|
|
|
241
241
|
|
|
242
242
|
@socketio.on("preview-room:update-annotation", namespace="/events")
|
|
243
243
|
@jwt_required()
|
|
244
244
|
def on_update_annotation(data):
|
|
245
|
-
room_id = data
|
|
245
|
+
room_id = data.get("playlist_id", "")
|
|
246
246
|
emit("preview-room:update-annotation", data, room=room_id)
|
|
247
247
|
|
|
248
248
|
|
|
249
249
|
@socketio.on("preview-room:change-version", namespace="/events")
|
|
250
250
|
@jwt_required()
|
|
251
251
|
def on_change_version(data):
|
|
252
|
-
room_id = data
|
|
252
|
+
room_id = data.get("playlist_id", "")
|
|
253
253
|
emit("preview-room:change-version", data, room=room_id)
|
|
254
254
|
|
|
255
255
|
|
|
256
256
|
@socketio.on("preview-room:panzoom-changed", namespace="/events")
|
|
257
257
|
@jwt_required()
|
|
258
258
|
def on_change_version(data):
|
|
259
|
-
room_id = data
|
|
259
|
+
room_id = data.get("playlist_id", "")
|
|
260
260
|
emit("preview-room:panzoom-changed", data, room=room_id)
|
|
261
261
|
|
|
262
262
|
|
|
263
|
+
@socketio.on("preview-room:comparison-panzoom-changed", namespace="/events")
|
|
264
|
+
@jwt_required()
|
|
265
|
+
def on_change_version(data):
|
|
266
|
+
room_id = data.get("playlist_id", "")
|
|
267
|
+
emit("preview-room:comparison-panzoom-changed", data, room=room_id)
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
263
271
|
if __name__ == "__main__":
|
|
264
272
|
socketio.run(
|
|
265
273
|
app,
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"""Add TaskStatus.is_wip
|
|
2
|
+
|
|
3
|
+
Revision ID: 4d585b6956f2
|
|
4
|
+
Revises: d80f02824047
|
|
5
|
+
Create Date: 2025-06-30 01:11:29.146591
|
|
6
|
+
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from alembic import op
|
|
10
|
+
import sqlalchemy as sa
|
|
11
|
+
from alembic import op
|
|
12
|
+
import sqlalchemy as sa
|
|
13
|
+
from sqlalchemy.orm.session import Session
|
|
14
|
+
from sqlalchemy.ext.declarative import declarative_base
|
|
15
|
+
from zou.migrations.utils.base import BaseMixin
|
|
16
|
+
from sqlalchemy.sql import expression
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# revision identifiers, used by Alembic.
|
|
20
|
+
revision = "4d585b6956f2"
|
|
21
|
+
down_revision = "d80f02824047"
|
|
22
|
+
branch_labels = None
|
|
23
|
+
depends_on = None
|
|
24
|
+
|
|
25
|
+
base = declarative_base()
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class TaskStatus(base, BaseMixin):
|
|
29
|
+
"""
|
|
30
|
+
Describe the state of a task. A status marked as reviewable expects a
|
|
31
|
+
preview file linked to relate comment.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
__tablename__ = "task_status"
|
|
35
|
+
name = sa.Column(sa.String(40), nullable=False)
|
|
36
|
+
archived = sa.Column(sa.Boolean(), default=False)
|
|
37
|
+
short_name = sa.Column(
|
|
38
|
+
sa.String(10), unique=True, nullable=False, index=True
|
|
39
|
+
)
|
|
40
|
+
description = sa.Column(sa.Text())
|
|
41
|
+
color = sa.Column(sa.String(7), nullable=False)
|
|
42
|
+
priority = sa.Column(sa.Integer, default=1)
|
|
43
|
+
|
|
44
|
+
is_done = sa.Column(sa.Boolean(), default=False, index=True)
|
|
45
|
+
is_artist_allowed = sa.Column(sa.Boolean(), default=True)
|
|
46
|
+
is_client_allowed = sa.Column(sa.Boolean(), default=True)
|
|
47
|
+
is_retake = sa.Column(sa.Boolean(), default=False)
|
|
48
|
+
is_feedback_request = sa.Column(sa.Boolean(), default=False, index=True)
|
|
49
|
+
is_default = sa.Column(sa.Boolean(), default=False, index=True)
|
|
50
|
+
is_wip = sa.Column(
|
|
51
|
+
sa.Boolean(),
|
|
52
|
+
server_default=expression.false(),
|
|
53
|
+
default=False,
|
|
54
|
+
index=True,
|
|
55
|
+
)
|
|
56
|
+
shotgun_id = sa.Column(sa.Integer)
|
|
57
|
+
|
|
58
|
+
for_concept = sa.Column(
|
|
59
|
+
sa.Boolean(), server_default=expression.false(), default=False
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def upgrade():
|
|
64
|
+
# ### commands auto generated by Alembic - please adjust! ###
|
|
65
|
+
with op.batch_alter_table("task_status", schema=None) as batch_op:
|
|
66
|
+
batch_op.add_column(sa.Column("is_wip", sa.Boolean(), nullable=True))
|
|
67
|
+
batch_op.create_index(
|
|
68
|
+
batch_op.f("ix_task_status_is_wip"), ["is_wip"], unique=False
|
|
69
|
+
)
|
|
70
|
+
session = Session(bind=op.get_bind())
|
|
71
|
+
session.query(TaskStatus).update(
|
|
72
|
+
{
|
|
73
|
+
TaskStatus.is_wip: TaskStatus.short_name == "wip",
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
session.commit()
|
|
77
|
+
|
|
78
|
+
# ### end Alembic commands ###
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def downgrade():
|
|
82
|
+
# ### commands auto generated by Alembic - please adjust! ###
|
|
83
|
+
with op.batch_alter_table("task_status", schema=None) as batch_op:
|
|
84
|
+
batch_op.drop_index(batch_op.f("ix_task_status_is_wip"))
|
|
85
|
+
batch_op.drop_column("is_wip")
|
|
86
|
+
|
|
87
|
+
# ### end Alembic commands ###
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: zou
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.58
|
|
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
|
|
@@ -89,7 +89,7 @@ Requires-Dist: pytest==8.4.1; extra == "test"
|
|
|
89
89
|
Provides-Extra: monitoring
|
|
90
90
|
Requires-Dist: prometheus-flask-exporter==0.23.2; extra == "monitoring"
|
|
91
91
|
Requires-Dist: pygelf==0.4.3; extra == "monitoring"
|
|
92
|
-
Requires-Dist: sentry-sdk==2.
|
|
92
|
+
Requires-Dist: sentry-sdk==2.32.0; extra == "monitoring"
|
|
93
93
|
Provides-Extra: lint
|
|
94
94
|
Requires-Dist: autoflake==2.3.1; extra == "lint"
|
|
95
95
|
Requires-Dist: black==25.1.0; extra == "lint"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
zou/__init__.py,sha256=
|
|
1
|
+
zou/__init__.py,sha256=5N6GyHyKynWvCcfY7xFn4CwfJiEcy8iljLFjtzWXQ-0,24
|
|
2
2
|
zou/cli.py,sha256=W7nhMII-gyl8AlL6zgDmverSdFphDV_WnuN3BHrHc8w,22448
|
|
3
3
|
zou/debug.py,sha256=1fawPbkD4wn0Y9Gk0BiBFSa-CQe5agFi8R9uJYl2Uyk,520
|
|
4
|
-
zou/event_stream.py,sha256=
|
|
4
|
+
zou/event_stream.py,sha256=YOWVGAgseVQKC6usoYDW4T9iRVrG7R8TvP-Nr2AKi6k,8576
|
|
5
5
|
zou/job_settings.py,sha256=_aqBhujt2Q8sXRWIbgbDf-LUdXRdBimdtTc-fZbiXoY,202
|
|
6
6
|
zou/app/__init__.py,sha256=zGmaBGBHSS_Px34I3_WZmcse62G_AZJArjm4F6TwmRk,7100
|
|
7
7
|
zou/app/api.py,sha256=Esgni_0-tAaE3msWxNMEdUS_wwIdElM0P2GrjhaHbCk,3727
|
|
@@ -95,7 +95,7 @@ zou/app/blueprints/persons/resources.py,sha256=YS5ogqi3xbA0fKZp4c-FH4YWsf3HdBKWy
|
|
|
95
95
|
zou/app/blueprints/playlists/__init__.py,sha256=vuEk1F3hFHsmuKWhdepMoLyOzmNKDn1YrjjfcaIz0lQ,1596
|
|
96
96
|
zou/app/blueprints/playlists/resources.py,sha256=mF3gmlWpe9YKyyKVRUXYtvTCk7OguWIMVaCN_J_JPS4,17636
|
|
97
97
|
zou/app/blueprints/previews/__init__.py,sha256=ihC6OQ9AUjnZ2JeMnjRh_tKGO0UmAjOwhZnOivc3BnQ,4460
|
|
98
|
-
zou/app/blueprints/previews/resources.py,sha256=
|
|
98
|
+
zou/app/blueprints/previews/resources.py,sha256=z6xRlibS2H4SS_Z_7PfgiQ8v23eiZTMigNl6fxeOqj8,53398
|
|
99
99
|
zou/app/blueprints/projects/__init__.py,sha256=KhzIn5HvemfvsP5yJBMImdsEuTA_P806kRpoNbAdfIs,4643
|
|
100
100
|
zou/app/blueprints/projects/resources.py,sha256=Z0UfzCzP9n8YBIH4_2cFaP9tIHCn-jQI7NqtQouCTiY,44938
|
|
101
101
|
zou/app/blueprints/search/__init__.py,sha256=QCjQIY_85l_orhdEiqav_GifjReuwsjZggN3V0GeUVY,356
|
|
@@ -182,7 +182,7 @@ zou/app/models/status_automation.py,sha256=95c0lmOetujyGWViLd_qsR4GWPhrmlvi9ZfkC
|
|
|
182
182
|
zou/app/models/studio.py,sha256=cXnYFh-8m5Kw05QawYcCr59eeLp25NDI0VIb77oqUOs,384
|
|
183
183
|
zou/app/models/subscription.py,sha256=kMfPPe8uFJMDWB4B9MpWaXZD86FFZlj7ty0FkVyqE_4,1054
|
|
184
184
|
zou/app/models/task.py,sha256=luZNdb30rnRPampD-_oxuhi_rZ8ECXC0v2RwChNKAjo,3667
|
|
185
|
-
zou/app/models/task_status.py,sha256=
|
|
185
|
+
zou/app/models/task_status.py,sha256=_XAFax5u31xiXReSEc0KISLaf3XvVrFDeoYZKcy_T2U,1365
|
|
186
186
|
zou/app/models/task_type.py,sha256=IsixVAfz3pyMf0eQw8x-uFNM9OHNkZpsPLEz_VNQ0hA,1005
|
|
187
187
|
zou/app/models/time_spent.py,sha256=n7i3FO9g1eE_zATkItoCgrGVqq3iMSfdlKSveEZPloc,795
|
|
188
188
|
zou/app/models/working_file.py,sha256=q0LM3s1ziw_9AmmPDCkwyf1-TJkWTBMgo2LdHyVRwxg,1509
|
|
@@ -194,7 +194,7 @@ zou/app/services/base_service.py,sha256=OZd0STFh-DyBBdwsmA7DMMnrwv4C8wJUbShvZ1is
|
|
|
194
194
|
zou/app/services/breakdown_service.py,sha256=-bH1KUq9-No_OKnQtWK4XEU1w7uDPJnzWFMrKNkS1K0,27593
|
|
195
195
|
zou/app/services/budget_service.py,sha256=uMU1vJr7kyxtkvMz_Nm7DyhW6qvSGYGqRHEQTxsHYCc,5468
|
|
196
196
|
zou/app/services/chats_service.py,sha256=pqnT-RCltdf9Dp4t-2NtOSawGk0jyNhVPTgERZ_nYvk,8297
|
|
197
|
-
zou/app/services/comments_service.py,sha256=
|
|
197
|
+
zou/app/services/comments_service.py,sha256=z1vj60yU196_Tgnq4XZdY29VT4TWVYGq8y8zGl485rs,18728
|
|
198
198
|
zou/app/services/concepts_service.py,sha256=sXzMPQ5Rav-c_36CBxdDBjKNq0-gaLWFY9QZGy3jjv4,11252
|
|
199
199
|
zou/app/services/custom_actions_service.py,sha256=fWISEOOdthadrxeHuacEel5Xj6msn0yWXJQDG1gzvsY,297
|
|
200
200
|
zou/app/services/deletion_service.py,sha256=jZzNzyfmKJK1Sro9PUV0v9cVh6QQ2qh-0bQ4Ajuk77I,17434
|
|
@@ -220,7 +220,7 @@ zou/app/services/shots_service.py,sha256=MfBvw0hhVwi_KSQVnM-V4O3LnNkJB2imJWF6n9J
|
|
|
220
220
|
zou/app/services/stats_service.py,sha256=e9h090eZWADtzXycy1WOup_jlxGwQojrr1y_PDcVatc,13156
|
|
221
221
|
zou/app/services/status_automations_service.py,sha256=tVio7Sj7inhvKS4UOyRhcdpwr_KNP96hT1o0X7XcGF4,715
|
|
222
222
|
zou/app/services/sync_service.py,sha256=iWxx1kOGEXympHmSBBQWtDZWNtumdxp8kppee0OefMo,41811
|
|
223
|
-
zou/app/services/tasks_service.py,sha256=
|
|
223
|
+
zou/app/services/tasks_service.py,sha256=gRD-xODi7tCAyHdi5yJohKavWdODK6TwvDGR9pa82BM,69831
|
|
224
224
|
zou/app/services/telemetry_services.py,sha256=xQm1h1t_JxSFW59zQGf4NuNdUi1UfMa_6pQ-ytRbmGA,1029
|
|
225
225
|
zou/app/services/time_spents_service.py,sha256=8sYnepgeo4yohNFRNiEedqFfL2vuJ78GZSHOpRmp52Q,16502
|
|
226
226
|
zou/app/services/user_service.py,sha256=wdi2b2kvct5b_Qi9XdrNEhz9JL4WoI9EpT-8_UOSXnE,52070
|
|
@@ -235,7 +235,7 @@ zou/app/utils/auth.py,sha256=o9lOGgj3nkfsupfhLBre5fUuT1HBZgXVJU06lrdZGag,996
|
|
|
235
235
|
zou/app/utils/cache.py,sha256=MRluTvGG67ybOkyzgD70B6PGKMdRyFdTc0AYy3dEQe8,1210
|
|
236
236
|
zou/app/utils/chats.py,sha256=ORngxQ3IQQF0QcVFJLxJ-RaU4ksQ9-0M8cmPa0pc0Ho,4302
|
|
237
237
|
zou/app/utils/colors.py,sha256=LaGV17NL_8xY0XSp8snGWz5UMwGnm0KPWXyE5BTMG6w,200
|
|
238
|
-
zou/app/utils/commands.py,sha256=
|
|
238
|
+
zou/app/utils/commands.py,sha256=_OUSRs8_qARsoTp23qAupsqhed_ryL3j3LwMpRgKECk,29995
|
|
239
239
|
zou/app/utils/csv_utils.py,sha256=GiI8SeUqmIh9o1JwhZGkQXU_0K0EcPrRHYIZ8bMoYzk,1228
|
|
240
240
|
zou/app/utils/date_helpers.py,sha256=jFxDPCbAasg0I1gsC72AKEbGcx5c4pLqXZkSfZ4wLdQ,4724
|
|
241
241
|
zou/app/utils/dbhelpers.py,sha256=RSJuoxLexGJyME16GQCs-euFLBR0u-XAFdJ1KMSv5M8,1143
|
|
@@ -314,6 +314,7 @@ zou/migrations/versions/45dafbb3f4e1_for_person_contract_type_disallow_null.py,s
|
|
|
314
314
|
zou/migrations/versions/45f739ef962a_add_people_salary_scale_table.py,sha256=BwWUooGOWngD5ok0WH85HWh6QwlrJRzfsBFoYaAjHbo,2349
|
|
315
315
|
zou/migrations/versions/4715c2586036_add_last_preview_file_fields.py,sha256=ez0HfwcFNpo5Gq8Jc-BxaTQ42pJM7T6VFpL1rawPGdk,1353
|
|
316
316
|
zou/migrations/versions/4aab1f84ad72_introduce_plugin_table.py,sha256=6fbUq13vheZjuN-o6rxrR82h67JXcPwjcQ3AgiL5vCI,2156
|
|
317
|
+
zou/migrations/versions/4d585b6956f2_add_taskstatus_is_wip.py,sha256=QTOcX4Qt03JCVvIag7idJsOHddBT-aS_sx6S95XsyMU,2655
|
|
317
318
|
zou/migrations/versions/4e3738cdc34c_.py,sha256=0THgcNbLygTZb462fHZ9SK2EBq_j6_htcPXz4CZbVkg,2636
|
|
318
319
|
zou/migrations/versions/4f2398ebcd49_.py,sha256=7ZYIHv3bjppg3dqvBHe_sBatzz7etQBpuRKY-DSvR_Q,683
|
|
319
320
|
zou/migrations/versions/523ee9647bee_.py,sha256=2PbD0cNflQtHd7TLxyfSQDJ8gHybUYCKcPQw_XUivfU,1262
|
|
@@ -446,9 +447,9 @@ zou/remote/normalize_movie.py,sha256=zNfEY3N1UbAHZfddGONTg2Sff3ieLVWd4dfZa1dpnes
|
|
|
446
447
|
zou/remote/playlist.py,sha256=AsDo0bgYhDcd6DfNRV6r6Jj3URWwavE2ZN3VkKRPbLU,3293
|
|
447
448
|
zou/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
448
449
|
zou/utils/movie.py,sha256=d67fIL9dVBKt-E_qCGXRbNNdbJaJR5sHvZeX3hf8ldE,16559
|
|
449
|
-
zou-0.20.
|
|
450
|
-
zou-0.20.
|
|
451
|
-
zou-0.20.
|
|
452
|
-
zou-0.20.
|
|
453
|
-
zou-0.20.
|
|
454
|
-
zou-0.20.
|
|
450
|
+
zou-0.20.58.dist-info/licenses/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
|
|
451
|
+
zou-0.20.58.dist-info/METADATA,sha256=4RwRbOeyIMqXRm-G7TvNpWKYSYLrM2gM0IHrcsaGtPA,6778
|
|
452
|
+
zou-0.20.58.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
453
|
+
zou-0.20.58.dist-info/entry_points.txt,sha256=PelQoIx3qhQ_Tmne7wrLY-1m2izuzgpwokoURwSohy4,130
|
|
454
|
+
zou-0.20.58.dist-info/top_level.txt,sha256=4S7G_jk4MzpToeDItHGjPhHx_fRdX52zJZWTD4SL54g,4
|
|
455
|
+
zou-0.20.58.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|