Download app/utils/version.py from Song4612/gemini: direct link, hf CLI and curl.
- Browser
- Download file 2.15 kB
-
https://huggingface.co/spaces/Song4612/gemini/resolve/main/app/utils/version.py
- Command line
-
hf download hf://spaces/Song4612/gemini/app/utils/version.py
-
curl -L -o version.py https://huggingface.co/spaces/Song4612/gemini/resolve/main/app/utils/version.py
2.15 kB
| import requests | |
| import logging | |
| from app.utils.logging import log | |
| import app.config.settings as settings | |
| async def check_version(): | |
| """ | |
| 检查应用程序版本更新 | |
| 从本地和远程获取版本信息,并比较版本号以确定是否有更新 | |
| """ | |
| # 导入全局变量 | |
| try: | |
| # 读取本地版本 | |
| with open("./version.txt", "r") as f: | |
| version_line = f.read().strip() | |
| settings.local_version = version_line.split("=")[1] if "=" in version_line else "0.0.0" | |
| # 获取远程版本 | |
| github_url = "https://raw.githubusercontent.com/wyeeeee/hajimi/refs/heads/main/version.txt" | |
| response = requests.get(github_url, timeout=5) | |
| if response.status_code == 200: | |
| version_line = response.text.strip() | |
| settings.remote_version = version_line.split("=")[1] if "=" in version_line else "0.0.0" | |
| # 比较版本号 | |
| local_parts = [int(x) for x in settings.local_version.split(".")] | |
| remote_parts = [int(x) for x in settings.remote_version.split(".")] | |
| # 确保两个列表长度相同 | |
| while len(local_parts) < len(remote_parts): | |
| local_parts.append(0) | |
| while len(remote_parts) < len(local_parts): | |
| remote_parts.append(0) | |
| # 比较版本号 | |
| settings.has_update = False | |
| for i in range(len(local_parts)): | |
| if remote_parts[i] > local_parts[i]: | |
| settings.has_update = True | |
| break | |
| elif remote_parts[i] < local_parts[i]: | |
| break | |
| log('info', f"版本检查: 本地版本 {settings.local_version}, 远程版本 {settings.remote_version}, 有更新: {settings.has_update}") | |
| else: | |
| log('warning', f"无法获取远程版本信息,HTTP状态码: {response.status_code}") | |
| except Exception as e: | |
| log('error', f"版本检查失败: {str(e)}") | |
| return settings.local_version, settings.remote_version, settings.has_update |