blivechat/update.py

29 lines
965 B
Python
Raw Normal View History

2019-09-16 20:48:03 +08:00
# -*- coding: utf-8 -*-
2020-02-03 16:18:21 +08:00
import asyncio
2019-09-16 20:48:03 +08:00
import aiohttp
2021-07-18 14:55:13 +08:00
VERSION = 'v1.5.3'
2019-09-16 20:48:03 +08:00
2020-02-03 16:18:21 +08:00
def check_update():
asyncio.ensure_future(_do_check_update())
async def _do_check_update():
2019-11-29 23:48:43 +08:00
try:
2021-03-28 18:30:31 +08:00
async with aiohttp.ClientSession(timeout=aiohttp.ClientTimeout(total=10)) as session:
2019-11-29 23:48:43 +08:00
async with session.get('https://api.github.com/repos/xfgryujk/blivechat/releases/latest') as r:
data = await r.json()
if data['name'] != VERSION:
2020-05-10 14:14:14 +08:00
print('---------------------------------------------')
2019-11-29 23:48:43 +08:00
print('New version available:', data['name'])
print(data['body'])
print('Download:', data['html_url'])
2020-05-10 14:14:14 +08:00
print('---------------------------------------------')
2019-11-29 23:48:43 +08:00
except aiohttp.ClientConnectionError:
print('Failed to check update: connection failed')
2020-11-28 21:53:49 +08:00
except asyncio.TimeoutError:
print('Failed to check update: timeout')