Wipe branch
This commit is contained in:
95
main.py
Executable file
95
main.py
Executable file
@ -0,0 +1,95 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
from updater import UThread
|
||||
from license import LThread
|
||||
from checker import CThread
|
||||
from cleaner import NThread
|
||||
from telegrambot import TGThread
|
||||
from webserver import WSThread
|
||||
from time import sleep
|
||||
from macros import *
|
||||
from colors import *
|
||||
from threading import Event
|
||||
import config, sys, os, asyncio
|
||||
|
||||
|
||||
INFO('╔' + '═'*(len(config.APPNAME) + len(config.VERSION) + 3) + '╗')
|
||||
INFO(f"║ {CYAN}{BOLD}{config.APPNAME}{RESET} {config.VERSION} ║")
|
||||
INFO('╚' + '═'*(len(config.APPNAME) + len(config.VERSION) + 3) + '╝')
|
||||
|
||||
if CONF.get('debug'):
|
||||
INFO('DEBUG TEST START ' + '*' * 20)
|
||||
DEBUG(f"{RESET}{BLACK}*{RED}*{GREEN}*{YELLOW}*{BLUE}*{MAGENTA}*{CYAN}*{WHITE}*")
|
||||
DEBUG(f"{RESET}{BOLD}{BLACK}*{RED}*{GREEN}*{YELLOW}*{BLUE}*{MAGENTA}*{CYAN}*{WHITE}*")
|
||||
DEBUG(f"{RESET}{BGBLACK}*{BGRED}*{BGGREEN}*{BGYELLOW}*{BGBLUE}*{BGMAGENTA}*{BGCYAN}*{BGWHITE}*")
|
||||
INFO('Test message')
|
||||
DEBUG('Test message')
|
||||
SUCC('Test message')
|
||||
WARN('Test message')
|
||||
ERR('Test message')
|
||||
CRIT('Test message')
|
||||
INFO('DEBUG TEST END ' + '*' * 22 + RESET)
|
||||
|
||||
|
||||
eupdate = Event()
|
||||
estop = Event()
|
||||
|
||||
lt = LThread(eupdate)
|
||||
lt.daemon = True
|
||||
lt.start()
|
||||
|
||||
wt = WSThread(eupdate)
|
||||
wt.daemon = True
|
||||
wt.start()
|
||||
|
||||
ct = CThread(eupdate)
|
||||
ct.daemon = True
|
||||
ct.start()
|
||||
|
||||
nt = NThread(eupdate)
|
||||
nt.daemon = True
|
||||
nt.start()
|
||||
|
||||
tt = TGThread(eupdate, estop)
|
||||
tt.daemon = True
|
||||
tt.start()
|
||||
|
||||
ut = UThread()
|
||||
ut.daemon = True
|
||||
ut.start()
|
||||
|
||||
updated = False
|
||||
|
||||
try:
|
||||
while 1:
|
||||
if lt.is_alive() and wt.is_alive() and ct.is_alive() and tt.is_alive() and ut.is_alive() and nt.is_alive():
|
||||
sleep(1)
|
||||
elif lt.is_alive() and wt.is_alive() and ct.is_alive() and tt.is_alive() and nt.is_alive():
|
||||
eupdate.set()
|
||||
if lt.is_alive(): lt.join()
|
||||
if wt.is_alive(): wt.join()
|
||||
if ct.is_alive(): ct.join()
|
||||
if nt.is_alive(): nt.join()
|
||||
if tt.is_alive(): tt.join()
|
||||
updated = True
|
||||
SUCC('Program updated, reboot!')
|
||||
break
|
||||
else:
|
||||
estop.set()
|
||||
sleep(1)
|
||||
CRIT('Program broken.')
|
||||
os._exit(3)
|
||||
except KeyboardInterrupt:
|
||||
sys.stdout.flush()
|
||||
print('\r', end='')
|
||||
estop.set()
|
||||
sleep(1)
|
||||
CRIT('STOP')
|
||||
except Exception as e:
|
||||
CRIT(str(e))
|
||||
estop.set()
|
||||
sleep(1)
|
||||
os._exit(1)
|
||||
|
||||
if updated:
|
||||
os.execl(sys.argv[0], *sys.argv)
|
Reference in New Issue
Block a user