various fixes
This commit is contained in:
@@ -181,34 +181,6 @@ def _memoir_image_from_asset(
|
||||
)
|
||||
|
||||
|
||||
def _select_placeholders_for_effective_max(
|
||||
placeholders: list[dict],
|
||||
existing_images: list[dict] | None,
|
||||
effective_max: int,
|
||||
) -> list[dict]:
|
||||
existing_placeholders = {
|
||||
item.get("placeholder")
|
||||
for item in normalize_image_assets(existing_images)
|
||||
if item.get("placeholder")
|
||||
}
|
||||
existing_count_in_content = sum(
|
||||
1 for item in placeholders if item.get("placeholder") in existing_placeholders
|
||||
)
|
||||
remaining_new_slots = max(0, effective_max - existing_count_in_content)
|
||||
|
||||
selected: list[dict] = []
|
||||
for item in placeholders:
|
||||
if item.get("placeholder") in existing_placeholders:
|
||||
selected.append(item)
|
||||
continue
|
||||
if remaining_new_slots <= 0:
|
||||
continue
|
||||
selected.append(item)
|
||||
remaining_new_slots -= 1
|
||||
|
||||
return [{**item, "index": index} for index, item in enumerate(selected)]
|
||||
|
||||
|
||||
def _coerce_state(model: MemoirState) -> MemoirStateSchema:
|
||||
"""将数据库模型转换为 Schema"""
|
||||
return MemoirStateSchema.model_validate(
|
||||
|
||||
Reference in New Issue
Block a user