2021-01-21 14:00:58 +02:00
# -*- coding: utf-8 -*-
import os , sys
from colors import *
2021-04-30 03:25:36 +03:00
from functions import getConfig , setConfig , getOS , yes_list , no_list
2021-04-24 03:08:43 +03:00
from functions import appendLog
2021-04-30 03:25:36 +03:00
from subprocess import check_output
2021-01-21 14:00:58 +02:00
2021-04-30 03:25:36 +03:00
if getConfig ( " firstboot " ) :
if getOS ( ) == " android " :
while True :
os . system ( ' clear ' )
confirmation = input ( f ' { BRED } Внимание! { RESET } AutoZoom практически не оптимизирован под { CYAN } Android { RESET } . \n Продолжая использовать программу на О С кроме { CYAN } Windows { RESET } вы действуете на свой страх и риск. \n Полноценная поддержка операционной системы Android не планируется. \n Для хоть какой-то работы нужно установить Zoom \n и заранее е г о настроить. \n \n Введите { BGREEN } Да { RESET } если вас не пугает указанное выше. \n Введите { BRED } Нет { RESET } если вас это не устраивает, программа сама закроется. \n \n > ' )
if confirmation . lower ( ) in yes_list :
setConfig ( " firstboot " , False )
setConfig ( " obs_core " , " Disabled " )
setConfig ( " obs_exe " , " Disabled " )
setConfig ( " use_rpc " , False )
break
elif confirmation . lower ( ) in no_list :
setConfig ( " firstboot " , True )
sys . exit ( )
break
else :
continue
2021-11-03 09:20:15 +02:00
2021-04-30 03:25:36 +03:00
elif getOS ( ) == " unix " :
while True :
os . system ( ' clear ' )
confirmation = input ( f ' { BRED } Внимание! { RESET } AutoZoom плохо оптимизирован под { CYAN } Linux { RESET } и { CYAN } MacOS { RESET } . \n Продолжая использовать программу на О С кроме { CYAN } Windows { RESET } вы действуете на свой страх и риск. \n Полноценная поддержка UNIX систем реализована не будет. \n Для хоть какой-то работы нужно установить Zoom \n и заранее е г о настроить. \n \n Введите { BGREEN } Да { RESET } если вас не пугает указанное выше. \n Введите { BRED } Нет { RESET } если вас это не устраивает, программа сама закроется. \n \n > ' )
if confirmation . lower ( ) in yes_list :
setConfig ( " firstboot " , False )
setConfig ( " obs_core " , " Disabled " )
setConfig ( " obs_exe " , " Disabled " )
break
elif confirmation . lower ( ) in no_list :
setConfig ( " firstboot " , True )
sys . exit ( )
break
else :
continue
2021-11-03 09:20:15 +02:00
2021-04-30 03:25:36 +03:00
elif getOS ( ) == " windows " :
setConfig ( " firstboot " , False )
2021-01-21 14:00:58 +02:00
#########################################################
libs = [ ]
###################################
2021-04-30 03:25:36 +03:00
if getOS ( ) == " windows " :
try :
import easygui
except ModuleNotFoundError :
appendLog ( " No module easygui " )
libs . append ( " easygui " )
###################################
try :
import tkinter
except ModuleNotFoundError :
appendLog ( " No module tkinter " )
libs . append ( " tkinter " )
###################################
try :
from swinlnk . swinlnk import SWinLnk
except ModuleNotFoundError :
appendLog ( " No module swinlnk " )
libs . append ( " swinlnk " )
2021-01-21 14:00:58 +02:00
###################################
try :
import keyboard
except ModuleNotFoundError :
2021-04-24 03:08:43 +03:00
appendLog ( " No module keyboard " )
2021-01-21 14:00:58 +02:00
libs . append ( " keyboard " )
###################################
try :
import ast
except ModuleNotFoundError :
2021-04-24 03:08:43 +03:00
appendLog ( " No module ast " )
2021-01-21 14:00:58 +02:00
libs . append ( " ast " )
###################################
try :
import inputimeout
except ModuleNotFoundError :
2021-04-24 03:08:43 +03:00
appendLog ( " No module inputimeout " )
2021-01-21 14:00:58 +02:00
libs . append ( " inputimeout " )
###################################
try :
import telegram_send
except ModuleNotFoundError :
2021-04-24 03:08:43 +03:00
appendLog ( " No module telegram_send " )
2021-01-21 14:00:58 +02:00
libs . append ( " telegram_send " )
###################################
try :
import wget
except ModuleNotFoundError :
2021-04-24 03:08:43 +03:00
appendLog ( " No module wget " )
2021-01-21 14:00:58 +02:00
libs . append ( " wget " )
###################################
try :
import requests
except ModuleNotFoundError :
2021-04-24 03:08:43 +03:00
appendLog ( " No module requests " )
2021-01-21 14:00:58 +02:00
libs . append ( " requests " )
###################################
2021-04-30 03:25:36 +03:00
if getOS ( ) != " android " :
try :
from playsound import playsound
except ModuleNotFoundError :
appendLog ( " No module playsound " )
libs . append ( " playsound " )
else :
try :
2021-05-08 01:28:41 +03:00
if not " play-audio " in os . popen ( ' pkg list-all ' ) . read ( ) :
os . system ( ' pkg install play-audio ' )
2021-04-30 03:25:36 +03:00
except :
appendLog ( " Could not install play-audio " )
2021-04-07 23:57:02 +03:00
###################################
2021-01-21 14:00:58 +02:00
try :
from zipfile import ZipFile
except ModuleNotFoundError :
2021-04-24 03:08:43 +03:00
appendLog ( " No module zipfile " )
2021-01-21 14:00:58 +02:00
libs . append ( " zipfile " )
###################################
try :
import asyncio
except ModuleNotFoundError :
2021-04-24 03:08:43 +03:00
appendLog ( " No module asyncio " )
2021-01-21 14:00:58 +02:00
libs . append ( " asyncio " )
###################################
2021-04-24 03:08:43 +03:00
try :
import getpass
except ModuleNotFoundError :
appendLog ( " No module getpass " )
libs . append ( " getpass " )
###################################
2021-01-21 14:00:58 +02:00
try :
from pypresence import Presence
except ModuleNotFoundError :
2021-04-24 03:08:43 +03:00
appendLog ( " No module pypresence " )
2021-01-21 14:00:58 +02:00
libs . append ( " pypresence " )
###################################
2021-04-30 03:25:36 +03:00
2021-01-21 14:00:58 +02:00
if len ( libs ) > 0 :
2021-04-24 03:08:43 +03:00
print ( " Н е хватает нужных модулей, пробуем установить...\n Это может занять некоторое время. Пожалуйста, не закрывайте программу. " )
appendLog ( ' Missing some modules, trying to install them ' )
2021-01-21 14:00:58 +02:00
for each in libs :
try :
if getConfig ( " debug " ) :
response = os . system ( ' " {} " -m pip install -U ' . format ( sys . executable ) + each )
else :
response = os . system ( ' " {} " -m pip install -U ' . format ( sys . executable ) + each + " -q --no-warn-script-location " )
except :
response = os . system ( ' " {} " -m pip install -U ' . format ( sys . executable ) + each + " -q --no-warn-script-location " )
print ( f " { RESET } [ { BGREEN } OK { RESET } ] Установлен модуль { YELLOW } { each } { RESET } . " )
2021-04-24 03:08:43 +03:00
appendLog ( f ' Module { each } installed ' )
2021-01-21 14:00:58 +02:00
if response != 0 :
2021-04-24 03:08:43 +03:00
appendLog ( f ' Failed to install { each } ' )
2021-01-21 14:00:58 +02:00
sys . exit ( f " { RESET } [ { BRED } ERR { RESET } ] Установка { YELLOW } { each } { RESET } провалилась. " )
2021-11-03 09:20:15 +02:00
2021-04-24 03:08:43 +03:00
appendLog ( ' Everything seems to be installed ' )
2021-01-21 14:00:58 +02:00
print ( f " { RESET } [ { BGREEN } OK { RESET } ] В с е модули были успешно установлены. " )
try :
2021-04-30 03:25:36 +03:00
if getOS ( ) == " windows " :
import easygui
import tkinter
from swinlnk . swinlnk import SWinLnk
2021-01-21 14:00:58 +02:00
import keyboard
import ast
import inputimeout
import telegram_send
import wget
import requests
import asyncio
2021-04-24 03:08:43 +03:00
import getpass
2021-04-30 03:25:36 +03:00
if getOS ( ) != " android " :
from playsound import playsound
2021-01-21 14:00:58 +02:00
from zipfile import ZipFile
from pypresence import Presence
2021-04-30 03:25:36 +03:00
2021-01-21 14:00:58 +02:00
except ModuleNotFoundError :
sys . exit ( f " \n ############################################################################# \n { BGREEN } Пожалуйста, перезапустите программу для продолжения! { RESET } \n Если это сообщение видно не впервые - напишите { BRED } @profitroll { RESET } в { CYAN } Telegram { RESET } или \n включите { BRED } debug { RESET } в { BRED } files/config.json { RESET } и решите проблему самостоятельно. \n ############################################################################# " )
#########################################################