mirror of
https://github.com/tcsenpai/pensieve.git
synced 2025-06-06 19:25:24 +00:00
feat(config): update config display
This commit is contained in:
parent
f1820d0d93
commit
7c3956109e
@ -153,12 +153,14 @@ def get_database_path():
|
|||||||
|
|
||||||
|
|
||||||
def format_value(value):
|
def format_value(value):
|
||||||
if isinstance(value, (VLMSettings, OCRSettings, EmbeddingSettings)):
|
if isinstance(value, dict):
|
||||||
return (
|
# Format nested dictionary with proper indentation
|
||||||
"{\n"
|
formatted_items = []
|
||||||
+ "\n".join(f" {k}: {v}" for k, v in value.model_dump().items())
|
for k, v in value.items():
|
||||||
+ "\n }"
|
# Add proper indentation and alignment for nested items
|
||||||
)
|
formatted_value = str(v)
|
||||||
|
formatted_items.append(f" {k:<12} : {formatted_value}")
|
||||||
|
return "\n" + "\n".join(formatted_items)
|
||||||
elif isinstance(value, (list, tuple)):
|
elif isinstance(value, (list, tuple)):
|
||||||
return f"[{', '.join(map(str, value))}]"
|
return f"[{', '.join(map(str, value))}]"
|
||||||
elif isinstance(value, SecretStr):
|
elif isinstance(value, SecretStr):
|
||||||
@ -178,9 +180,10 @@ def display_config():
|
|||||||
if key in ["base_dir", "database_path", "screenshots_dir"]:
|
if key in ["base_dir", "database_path", "screenshots_dir"]:
|
||||||
resolved_value = getattr(settings, f"resolved_{key}")
|
resolved_value = getattr(settings, f"resolved_{key}")
|
||||||
formatted_value += f" (resolved: {resolved_value})"
|
formatted_value += f" (resolved: {resolved_value})"
|
||||||
|
|
||||||
|
# 如果值包含换行符,使用多行格式打印
|
||||||
if "\n" in formatted_value:
|
if "\n" in formatted_value:
|
||||||
typer.echo(f"{key}:")
|
typer.echo(f"{key.ljust(max_key_length)} :{formatted_value}")
|
||||||
for line in formatted_value.split("\n"):
|
|
||||||
typer.echo(f" {line}")
|
|
||||||
else:
|
else:
|
||||||
|
# 对于单行值,在同一行打印
|
||||||
typer.echo(f"{key.ljust(max_key_length)} : {formatted_value}")
|
typer.echo(f"{key.ljust(max_key_length)} : {formatted_value}")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user