distribution_selector
appimage_updater.distribution_selector
¶
Distribution-aware asset selection for multi-platform releases.
This module provides intelligent asset selection when multiple distribution-specific releases are available (e.g., ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, fedora). It selects the best compatible asset based on the current system, or presents options to the user when automatic selection isn't possible.
DistributionSelector(console=None, interactive=True)
¶
Selects the best asset for the current distribution.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
console
|
Console | None
|
Rich console for user interaction (optional) |
None
|
interactive
|
bool
|
Whether to allow interactive selection (default: True) |
True
|
Source code in src/appimage_updater/distribution_selector.py
console = console or Console()
instance-attribute
¶
current_dist = self._detect_current_distribution()
instance-attribute
¶
interactive = interactive
instance-attribute
¶
system_info = get_system_info()
instance-attribute
¶
select_best_asset(assets)
¶
Select the best asset for the current system or prompt the user.
Source code in src/appimage_updater/distribution_selector.py
select_best_distribution_asset(assets, console=None, interactive=True)
¶
Convenience function to select the best asset for the current distribution.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
assets
|
list[Asset]
|
List of available assets |
required |
console
|
Console | None
|
Rich console for user interaction (optional) |
None
|
interactive
|
bool
|
Whether to allow interactive selection (default: True) |
True
|
Returns:
Type | Description |
---|---|
Asset
|
The best matching asset |
Raises:
Type | Description |
---|---|
ValueError
|
If no assets provided or user cancels selection |