Refactor prompt building logic in VisualPrompt class for improved readability and maintainability. Adjust formatting in validation module to ensure consistent newline handling.

This commit is contained in:
vegu-ai-tools
2025-11-22 20:00:15 +02:00
parent e8fc01d227
commit 65d9137b66
2 changed files with 12 additions and 5 deletions

View File

@@ -139,7 +139,7 @@ class VisualPrompt(pydantic.BaseModel):
@property
def negative_prompt(self) -> str:
return self._build_prompt(self.prompt_type, False)
@property
def positive_prompt_keywords(self) -> str:
return self._build_prompt(PROMPT_TYPE.KEYWORDS, True)
@@ -160,15 +160,22 @@ class VisualPrompt(pydantic.BaseModel):
prompt: list[str] = []
if prompt_type == PROMPT_TYPE.KEYWORDS:
for part in self.parts:
prompt.extend(part.positive_keywords if positive else part.negative_keywords)
prompt.extend(
part.positive_keywords if positive else part.negative_keywords
)
return ", ".join(dict.fromkeys(prompt))
elif prompt_type == PROMPT_TYPE.DESCRIPTIVE:
for part in self.parts:
if part.positive_descriptive if positive else part.negative_descriptive:
prompt.append(part.positive_descriptive if positive else part.negative_descriptive)
prompt.append(
part.positive_descriptive
if positive
else part.negative_descriptive
)
return "\n\n".join(prompt)
return ""
class BackendStatus(pydantic.BaseModel):
type: BackendStatusType
message: str | None = None

View File

@@ -317,6 +317,6 @@ class ValidateAssetID(ValidateNode):
err_msg = self.make_error_message(value, "Asset `{value}` does not exist")
log.debug("Asset does not exist", value=value, err_msg=err_msg)
raise InputValueError(self, "value", err_msg)
self.set_output_values({"asset": scene.assets.get_asset(value)})
return value
return value