Status command for displaying system information.
status_main
status_main(
ctx,
plugins=Option(
True,
"--plugins/--no-plugins",
help="Show plugin status",
),
config=Option(
True,
"--config/--no-config",
help="Show configuration info",
),
)
Show CCProxy system status and configuration.
Source code in ccproxy/cli/commands/status.py
| @app.callback(invoke_without_command=True)
def status_main(
ctx: typer.Context,
plugins: bool = typer.Option(
True, "--plugins/--no-plugins", help="Show plugin status"
),
config: bool = typer.Option(
True, "--config/--no-config", help="Show configuration info"
),
) -> None:
"""Show CCProxy system status and configuration."""
if ctx.invoked_subcommand is not None:
return
toolkit = get_rich_toolkit()
console = Console()
# Header
toolkit.print("[bold cyan]CCProxy Status[/bold cyan]", centered=True)
toolkit.print(f"Version: {__version__}", tag="info")
toolkit.print_line()
try:
settings = Settings.from_config()
system_snapshot = collect_system_snapshot(settings)
_show_system_info(console, system_snapshot)
if config:
config_snapshot = collect_config_snapshot()
_show_config_info(console, config_snapshot)
if plugins:
plugin_snapshot = collect_plugin_snapshot(settings)
_show_plugin_status(console, plugin_snapshot)
except Exception as e:
logger.error("status_command_error", error=str(e), exc_info=e)
toolkit.print(f"[red]✗[/red] Error gathering status: {e}", tag="error")
|
plugins
Show detailed plugin information only.
Source code in ccproxy/cli/commands/status.py
| @app.command()
def plugins() -> None:
"""Show detailed plugin information only."""
toolkit = get_rich_toolkit()
console = Console()
toolkit.print("[bold cyan]Plugin Status[/bold cyan]", centered=True)
toolkit.print_line()
try:
settings = Settings.from_config()
plugin_snapshot = collect_plugin_snapshot(settings)
_show_plugin_status(console, plugin_snapshot)
except Exception as e:
logger.error("plugin_status_command_error", error=str(e), exc_info=e)
toolkit.print(f"[red]✗[/red] Error: {e}", tag="error")
|
config
Show configuration information only.
Source code in ccproxy/cli/commands/status.py
| @app.command()
def config() -> None:
"""Show configuration information only."""
toolkit = get_rich_toolkit()
console = Console()
toolkit.print("[bold cyan]Configuration Status[/bold cyan]", centered=True)
toolkit.print_line()
try:
settings = Settings.from_config()
system_snapshot = collect_system_snapshot(settings)
config_snapshot = collect_config_snapshot()
_show_system_info(console, system_snapshot)
_show_config_info(console, config_snapshot)
except Exception as e:
logger.error("config_status_command_error", error=str(e), exc_info=e)
toolkit.print(f"[red]✗[/red] Error: {e}", tag="error")
|