chore: squash merge feature/voice-dedup into develop (resolve conflicts)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Waiting to run
Tests / test (pull_request) Waiting to run
Tests / lint (pull_request) Waiting to run
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled

- Add voice extraction and deduplication functionality
- Add dedup.py for video deduplication
- Add voice_extraction.py task for worker
- Resolve CI/CD and deploy workflow conflicts with develop version
- Keep new voice dedup features from feature branch
This commit is contained in:
CI Test
2026-06-26 21:23:39 +08:00
parent f5bc1b8947
commit 82a71b3498
6 changed files with 359 additions and 6 deletions
@@ -27,6 +27,9 @@ class SQLAlchemyGeneratedVideoRepository:
status=video.status,
review_status=video.review_status,
generation_params=json.dumps(video.generation_params, ensure_ascii=False),
video_fingerprint=json.dumps(video.video_fingerprint) if video.video_fingerprint else None,
is_duplicate=video.is_duplicate,
duplicate_of=video.duplicate_of,
generated_at=video.generated_at,
created_at=video.created_at,
)
@@ -54,6 +57,9 @@ class SQLAlchemyGeneratedVideoRepository:
status=getattr(model, "status", "completed"),
review_status=getattr(model, "review_status", "pending_review"),
generation_params=json.loads(getattr(model, "generation_params", "{}") or "{}"),
video_fingerprint=json.loads(getattr(model, "video_fingerprint", "null") or "null"),
is_duplicate=getattr(model, "is_duplicate", False),
duplicate_of=getattr(model, "duplicate_of", None),
generated_at=model.generated_at,
created_at=model.created_at,
)
@@ -65,6 +71,9 @@ class SQLAlchemyGeneratedVideoRepository:
model.status = video.status
model.review_status = video.review_status
model.generation_params = json.dumps(video.generation_params, ensure_ascii=False)
model.video_fingerprint = json.dumps(video.video_fingerprint) if video.video_fingerprint else None
model.is_duplicate = video.is_duplicate
model.duplicate_of = video.duplicate_of
self.session.add(model)
self.session.commit()
return video