fixed a bug

This commit is contained in:
2026-08-30 11:19:57 +08:00
parent 0d0b82e095
commit 7cdc637527
2 changed files with 20 additions and 11 deletions

View File

@@ -458,7 +458,7 @@ class VideoRepository:
""",
(
normalized_hash,
replacement.index,
sentence_index + replacement.index,
replacement.start_ms,
replacement.end_ms,
replacement.text,

View File

@@ -206,24 +206,32 @@ def test_admin_can_split_sentence_and_reindexes_following_sentences(tmp_path):
repository.save_processing_result(
SentenceBoundaryDocument(
video_hash=VIDEO_HASH,
duration_ms=9000,
duration_ms=12000,
algorithm_version="test",
sentences=[
SentenceBoundary(
index=0,
start_ms=0,
end_ms=4000,
text="First part second part",
end_ms=2000,
text="Before.",
language="en",
reference_speech_duration_ms=3600,
reference_speech_duration_ms=1800,
),
SentenceBoundary(
index=1,
start_ms=4000,
start_ms=2000,
end_ms=9000,
text="First part second part",
language="en",
reference_speech_duration_ms=6600,
),
SentenceBoundary(
index=2,
start_ms=9000,
end_ms=12000,
text="Next sentence.",
language="en",
reference_speech_duration_ms=4600,
reference_speech_duration_ms=2800,
),
],
),
@@ -242,23 +250,24 @@ def test_admin_can_split_sentence_and_reindexes_following_sentences(tmp_path):
)
)
response = client.put(
f"/api/v1/admin/videos/{VIDEO_HASH}/sentences/0/split",
f"/api/v1/admin/videos/{VIDEO_HASH}/sentences/1/split",
json={"text": "First part\nsecond part", "language": "en"},
)
assert response.status_code == 200
replacements = response.json()
assert [item["text"] for item in replacements] == ["First part", "second part"]
assert replacements[0]["start_ms"] == 0
assert replacements[0]["start_ms"] == 2000
assert replacements[0]["end_ms"] == replacements[1]["start_ms"]
assert replacements[1]["end_ms"] == 4000
assert replacements[1]["end_ms"] == 9000
document = repository.get_document(VIDEO_HASH)
assert [item.text for item in document.sentences] == [
"Before.",
"First part",
"second part",
"Next sentence.",
]
assert [item.index for item in document.sentences] == [0, 1, 2]
assert [item.index for item in document.sentences] == [0, 1, 2, 3]
def test_admin_boundary_adjustment_updates_linked_next_start(tmp_path):