Applio-Full-ZeroGPU / assets /version_checker.py
VoiceCloning-be's picture
h
3a478bf
raw
history blame
1.81 kB
import os
import sys
import json
import requests
now_dir = os.getcwd()
sys.path.append(now_dir)
config_file = os.path.join(now_dir, "assets", "config.json")
def load_local_version():
try:
with open(config_file, "r", encoding="utf8") as file:
config = json.load(file)
return config["version"]
except (FileNotFoundError, json.JSONDecodeError) as error:
print(f"Error loading local version: {error}")
return None
def obtain_tag_name():
url = "https://api.github.com/repos/IAHispano/Applio/releases/latest"
session = requests.Session()
try:
response = session.get(url)
response.raise_for_status()
data = response.json()
return data.get("tag_name")
except requests.exceptions.RequestException as error:
print(f"Error obtaining online version: {error}")
return None
def compare_version():
local_version = load_local_version()
if not local_version:
return "Local version could not be determined."
online_version = obtain_tag_name()
if not online_version:
return "Online version could not be determined. Make sure you have an internet connection."
elements_online_version = list(map(int, online_version.split(".")))
elements_local_version = list(map(int, local_version.split(".")))
for online, local in zip(elements_online_version, elements_local_version):
if local < online:
return f"Your local version {local_version} is older than the latest version {online_version}."
if len(elements_online_version) > len(elements_local_version):
return f"Your local version {local_version} is older than the latest version {online_version}."
return f"Your local version {local_version} is the latest version."