Skip to content

ccproxy.cli.commands.status

ccproxy.cli.commands.status

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

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

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")