Skip to content

display_utilities

appimage_updater.config.cmd.display_utilities

Configuration display utilities for the config command.

This module contains functions for displaying configuration information, including global config, effective config, and available settings.

console = Console(no_color=(bool(os.environ.get('NO_COLOR')))) module-attribute

show_available_settings(setting)

Show available settings and return False to indicate error.

Source code in src/appimage_updater/config/cmd/display_utilities.py
def show_available_settings(setting: str) -> bool:
    """Show available settings and return False to indicate error."""
    console.print(f"[red]Unknown setting: {setting}")
    console.print("[yellow]Available settings:")

    # Basic settings
    console.print("[bold]Basic Settings:[/bold]")
    basic_table = Table(show_header=True, box=None, pad_edge=False)
    basic_table.add_column("Setting", style="cyan", width=22)
    basic_table.add_column("Description", style="white", width=40)
    basic_table.add_column("Valid Values", style="dim", width=25)

    basic_table.add_row("concurrent-downloads", "Number of concurrent downloads", "1-10")
    basic_table.add_row("timeout-seconds", "Download timeout in seconds", "10-300")

    console.print(basic_table)
    console.print()

    # Default settings for new applications
    console.print("[bold]Default Settings for New Applications:[/bold]")
    defaults_table = Table(show_header=True, box=None, pad_edge=False)
    defaults_table.add_column("Setting", style="cyan", width=22)
    defaults_table.add_column("Description", style="white", width=40)
    defaults_table.add_column("Valid Values", style="dim", width=25)

    # Directory settings
    defaults_table.add_row("download-dir", "Default download directory", "path or 'none'")
    defaults_table.add_row("auto-subdir", "Create app subdirectories", "true/false")

    # Rotation settings
    defaults_table.add_row("rotation", "Enable file rotation", "true/false")
    defaults_table.add_row("retain-count", "Number of files to retain", "1-20")

    # Symlink settings
    defaults_table.add_row("symlink-enabled", "Enable symlink creation", "true/false")
    defaults_table.add_row("symlink-dir", "Default symlink directory", "path or 'none'")
    defaults_table.add_row("symlink-pattern", "Symlink filename pattern", "pattern string")

    # Checksum settings
    defaults_table.add_row("checksum", "Enable checksum verification", "true/false")
    defaults_table.add_row("checksum-algorithm", "Checksum algorithm", "sha256/sha1/md5")
    defaults_table.add_row("checksum-pattern", "Checksum file pattern", "pattern string")
    defaults_table.add_row("checksum-required", "Require checksum verification", "true/false")

    # Other settings
    defaults_table.add_row("prerelease", "Include prerelease versions", "true/false")

    console.print(defaults_table)
    return False