feat: Implement segment update and regeneration features in Audiobook API and frontend
This commit is contained in:
@@ -640,6 +640,26 @@ def update_audiobook_segment_status(
|
||||
return seg
|
||||
|
||||
|
||||
def update_audiobook_segment(
|
||||
db: Session,
|
||||
segment_id: int,
|
||||
text: str,
|
||||
emo_text: Optional[str],
|
||||
emo_alpha: Optional[float],
|
||||
) -> Optional[AudiobookSegment]:
|
||||
seg = db.query(AudiobookSegment).filter(AudiobookSegment.id == segment_id).first()
|
||||
if not seg:
|
||||
return None
|
||||
seg.text = text
|
||||
seg.emo_text = emo_text or None
|
||||
seg.emo_alpha = emo_alpha
|
||||
seg.status = "pending"
|
||||
seg.audio_path = None
|
||||
db.commit()
|
||||
db.refresh(seg)
|
||||
return seg
|
||||
|
||||
|
||||
def delete_audiobook_segments(db: Session, project_id: int) -> None:
|
||||
db.query(AudiobookSegment).filter(AudiobookSegment.project_id == project_id).delete()
|
||||
db.commit()
|
||||
|
||||
Reference in New Issue
Block a user