Centralize formatter target policy

This commit is contained in:
2026-06-27 13:42:06 +02:00
parent 194eb06465
commit c4d5477bf9
7 changed files with 137 additions and 16 deletions
+9 -3
View File
@@ -4,6 +4,11 @@ import re
from dataclasses import dataclass
from typing import Any, Callable
try:
from . import formatter_target as target_policy
except ImportError: # pragma: no cover - plain-script smoke tests
import formatter_target as target_policy
@dataclass(frozen=True)
class CaptionMetadataRouteRequest:
@@ -301,7 +306,8 @@ def insta_of_pair_from_row_result(
row = request.row
detail_level = request.detail_level
keep_style = request.keep_style
target = request.target if request.target in ("softcore", "hardcore") else "auto"
pair_target = target_policy.pair_policy(request.target)
target = pair_target.pair_target
if deps.clean_text(row.get("mode")).lower() != "insta/of":
return None
soft_row = row.get("softcore_row")
@@ -317,8 +323,8 @@ def insta_of_pair_from_row_result(
if soft_row.get("composition"):
hard_row_for_text["composition"] = soft_row["composition"]
include_soft = target in ("auto", "softcore")
include_hard = target in ("auto", "hardcore")
include_soft = pair_target.include_softcore
include_hard = pair_target.include_hardcore
soft_text = ""
hard_text = ""
if include_soft: