mirror of
https://github.com/Benexl/FastAnime.git
synced 2025-12-10 14:50:41 -08:00
56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
import click
|
|
|
|
|
|
@click.command(
|
|
help="Helper command to update fastanime to latest",
|
|
epilog="""
|
|
\b
|
|
\b\bExamples:
|
|
# update fastanime to latest
|
|
fastanime update
|
|
\b
|
|
# check for latest release
|
|
fastanime update --check
|
|
|
|
# Force an update regardless of the current version
|
|
fastanime update --force
|
|
""",
|
|
)
|
|
@click.option("--check", "-c", help="Check for the latest release", is_flag=True)
|
|
@click.option("--force", "-c", help="Force update", is_flag=True)
|
|
def update(check, force):
|
|
from rich.console import Console
|
|
from rich.markdown import Markdown
|
|
|
|
from ... import __version__
|
|
from ..app_updater import check_for_updates, update_app
|
|
|
|
def _print_release(release_data):
|
|
console = Console()
|
|
body = Markdown(release_data["body"])
|
|
tag = github_release_data["tag_name"]
|
|
tag_title = release_data["name"]
|
|
github_page_url = release_data["html_url"]
|
|
console.print(f"Release Page: {github_page_url}")
|
|
console.print(f"Tag: {tag}")
|
|
console.print(f"Title: {tag_title}")
|
|
console.print(body)
|
|
|
|
if check:
|
|
is_latest, github_release_data = check_for_updates()
|
|
if not is_latest:
|
|
print(
|
|
f"You are running an older version ({__version__}) of fastanime please update to get the latest features"
|
|
)
|
|
_print_release(github_release_data)
|
|
else:
|
|
print(f"You are running the latest version ({__version__}) of fastanime")
|
|
_print_release(github_release_data)
|
|
else:
|
|
success, github_release_data = update_app(force)
|
|
_print_release(github_release_data)
|
|
if success:
|
|
print("Successfully updated")
|
|
else:
|
|
print("failed to update")
|