Clean built-in couple formatter prose

This commit is contained in:
2026-06-27 17:14:03 +02:00
parent ed67c9ba7b
commit 0c62df36de
3 changed files with 88 additions and 5 deletions
+16 -3
View File
@@ -78,6 +78,21 @@ def couple_clothing_sentence(clothing: str, clean_text: Callable[[Any], str]) ->
return f"They wear {clothing}"
def couple_subject_sentence(
subject: str,
ages: str,
cap_first: Callable[[str], str],
clean_age_phrase: Callable[[str], str],
) -> str:
subject = cap_first(subject or "adult couple")
ages = clean_age_phrase(ages)
if ages:
return f"{subject}, {ages}"
if subject.lower() == "adult couple":
return subject
return f"{subject} are adults"
def single_from_row_result(
request: CaptionMetadataRouteRequest,
deps: CaptionMetadataRouteDependencies,
@@ -176,9 +191,7 @@ def couple_from_row_result(
camera_scene = deps.clean_text(row.get("camera_scene_directive"))
style = deps.field_row_value(row, "style") if keep_style else ""
parts = [f"{deps.cap_first(subject)} are adults"]
if ages:
parts.append(f"The age detail is {deps.clean_age_phrase(ages)}")
parts = [couple_subject_sentence(subject, ages, deps.cap_first, deps.clean_age_phrase)]
if body:
parts.append(f"Their body types are {body}")
if clothing: