优化脚本
This commit is contained in:
@@ -378,11 +378,14 @@ class QuickCreateJobSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
def get_phase_index(self, obj) -> int:
|
||||
# 前端四步:脚本 / 资产 / 故事板 / 视频。当前步未完成,不算 done。
|
||||
if obj.phase == QuickCreateJob.Phase.PRODUCTION:
|
||||
message = obj.message or ""
|
||||
return 3 if "视频" in message else 2
|
||||
return {
|
||||
QuickCreateJob.Phase.PRODUCT: 0,
|
||||
QuickCreateJob.Phase.SCRIPT: 1,
|
||||
QuickCreateJob.Phase.ASSETS: 2,
|
||||
QuickCreateJob.Phase.PRODUCTION: 3,
|
||||
QuickCreateJob.Phase.SCRIPT: 0,
|
||||
QuickCreateJob.Phase.ASSETS: 1,
|
||||
QuickCreateJob.Phase.COMPLETE: 3,
|
||||
}.get(obj.phase, 0)
|
||||
|
||||
@@ -398,16 +401,16 @@ class QuickCreateJobSerializer(serializers.ModelSerializer):
|
||||
}
|
||||
|
||||
def get_result(self, obj) -> dict | None:
|
||||
if obj.status != QuickCreateJob.Status.SUCCEEDED:
|
||||
return None
|
||||
project = obj.project
|
||||
settings = self.get_settings(obj)
|
||||
video_url = _final_video_url(project)
|
||||
segments = list(project.video_segments.all())
|
||||
if not video_url and len(segments) == 1:
|
||||
version = segments[0].adopted_version
|
||||
if version is not None and is_playable_video(version.asset):
|
||||
video_url = _asset_preview_url(version.asset)
|
||||
if not video_url:
|
||||
for segment in sorted(segments, key=lambda item: item.sort_order):
|
||||
version = segment.adopted_version
|
||||
if version is not None and is_playable_video(version.asset):
|
||||
video_url = _asset_preview_url(version.asset)
|
||||
break
|
||||
first_shot = next(
|
||||
(shot for shot in project.storyboard_shots.all() if shot.adopted_version_id),
|
||||
None,
|
||||
|
||||
Reference in New Issue
Block a user