mirror of
https://forge.fsky.io/oneflux/omegafox.git
synced 2026-04-11 09:02:03 -07:00
feat: Implement supported versions listing feature
This commit is contained in:
parent
13d9c26a16
commit
6e2db60b7f
2 changed files with 42 additions and 1 deletions
|
|
@ -13,7 +13,13 @@ import click
|
|||
|
||||
from .addons import DefaultAddons, maybe_download_addons
|
||||
from .locale import ALLOW_GEOIP, download_mmdb, remove_mmdb
|
||||
from .pkgman import INSTALL_DIR, CamoufoxFetcher, installed_verstr, rprint
|
||||
from .pkgman import (
|
||||
INSTALL_DIR,
|
||||
CamoufoxFetcher,
|
||||
installed_verstr,
|
||||
list_available_versions,
|
||||
rprint,
|
||||
)
|
||||
|
||||
try:
|
||||
from browserforge.download import download as update_browserforge
|
||||
|
|
@ -175,5 +181,19 @@ def version() -> None:
|
|||
rprint("(Up to date!)", fg="yellow")
|
||||
|
||||
|
||||
@cli.command(name='list')
|
||||
def list_versions() -> None:
|
||||
"""
|
||||
List all available release versions for Camoufox.
|
||||
"""
|
||||
versions = list_available_versions()
|
||||
if versions:
|
||||
rprint("Available versions:", fg="green")
|
||||
for ver in versions:
|
||||
click.echo(ver)
|
||||
else:
|
||||
rprint("No available releases found.", fg="red")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
cli()
|
||||
|
|
|
|||
|
|
@ -641,3 +641,24 @@ def load_yaml(file: str) -> Dict[str, Any]:
|
|||
"""
|
||||
with open(LOCAL_DATA / file, 'r') as f:
|
||||
return load(f, Loader=CLoader)
|
||||
|
||||
|
||||
def list_available_versions() -> List[str]:
|
||||
"""
|
||||
List the available versions of Camoufox on GitHub.
|
||||
"""
|
||||
|
||||
fetcher = CamoufoxFetcher()
|
||||
|
||||
releases: list[dict] = fetcher.fetch_all_releases()
|
||||
versions: List[Version] = []
|
||||
for release in releases:
|
||||
for asset in release.get('assets', []):
|
||||
try:
|
||||
version = fetcher.convert_asset_to_version(asset)
|
||||
if version.is_supported():
|
||||
versions.append(version)
|
||||
except ValueError:
|
||||
continue
|
||||
|
||||
return [version.full_string for version in sorted(versions, reverse=True)]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue