ub4tg/src/updatenotif.py

29 lines
1.4 KiB
Python
Raw Normal View History

from loguru import logger
import os
import asyncio
async def git_notifications_update():
logger.info('module for checking updates started')
2024-12-18 10:54:05 +02:00
cwd = os.getcwd()
os.chdir(cwd)
while True:
termux_api = os.system('termux-api-start')
if termux_api == 0:
logger.info('Checking for updates...')
fetching_git = os.system('git fetch')
if fetching_git == 0:
2024-12-18 12:11:54 +02:00
commits = os.popen("git log --pretty=format:'%h %s%n%b' HEAD..origin/$(git rev-parse --abbrev-ref HEAD)").read()
2024-12-18 10:54:05 +02:00
if len(commits) <= 5:
logger.info('updates not found, nothing to do')
else:
os.system(f"termux-notification --title 'ub4tg: update avalaible!' --content 'For apply tap button Get update and restart bot\nChanges:\n{commits}' --button1 'Get update' --button1-action 'cd {cwd}; git pull'")
else:
2024-12-18 12:11:54 +02:00
os.system("termux-toast '[ub4tg]: failed fetching update, maybe connection error, check console log for more info'")
else:
logger.warning('For getting updates via notifications, you should:')
logger.warning('pkg install termux-api')
logger.warning('download the apk: https://f-droid.org/repo/com.termux.api_51.apk')
2024-12-18 10:54:05 +02:00
logger.debug('next update will be check after 6 hours')
await asyncio.sleep(6 * 60 * 60)