consolidator

Форк
0
/
main.py 
45 строк · 1.9 Кб
1
import sys
2
import os
3
from PySide6.QtWidgets import QApplication,QStyle
4
from PySide6 import QtCore
5
from ConsWindow import ConsWindow
6
from MyLogger import MyLogger
7
from MyConfig import MyConfig
8
from VersionChecker import VersionChecker
9
import yaml
10

11
if __name__=="__main__":
12
    
13
    cur_path = os.path.dirname(os.path.realpath(__file__))+"\\"
14
    try:
15
       cur_path = sys._MEIPASS+"\\"
16
    except : pass
17
    settings = MyConfig(cur_path+"config.json")
18
    logFile = settings.get("LogFile",defaultValue="default.log")
19
    if os.path.isfile(logFile): os.remove(logFile)
20
    logger=MyLogger(__name__,log_file=logFile,outStream=sys.stdout)    
21
    try:
22
        if not os.path.isfile(cur_path+"metadata.yml"): raise Exception("Отсутствует файл metadata.yml")
23
        metadata:dict = {}
24
        with open(cur_path+"metadata.yml",mode="r",encoding="UTF-8") as f: metadata = yaml.load(f, Loader=yaml.FullLoader)
25
        vc = VersionChecker(metadata)
26
        update_exists = vc.update_exists()
27
        logger.info(f"start application version({vc.current_version})")
28
        logger.info(f"update exists: {update_exists}. Update version {vc.update_version}. [{vc.distr_url}]")
29
        need_update=False
30
        if update_exists: 
31
            need_update = vc.show_update_dialog()
32
            logger.info(f"need update: {need_update}")
33
        os.environ["PYSIDE_DESIGNER_PLUGINS"]="."
34
        os.environ["QTWEBENGINE_DISABLE_SANDBOX"]="1"
35
        QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_ShareOpenGLContexts)
36
        app = QApplication(sys.argv) if not QApplication.instance() else QApplication.instance()
37
        style = settings.get("AppStyle",defaultValue="Windows")
38
        app.setStyle(style)
39
        window = ConsWindow(metadata,need_update,vc.distr_url)
40
        window.MainWindow.show()
41
        res=app.exec()
42
        # print(res)
43
        sys.exit(res)
44
    except Exception as exp:
45
        logger.error(f"general error",exc_info=True)

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.