-
Notifications
You must be signed in to change notification settings - Fork 2
/
main.py
89 lines (68 loc) · 2.71 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import Utils.config_loader as cfg_loader
from first_setup import first_setup
from colorama import Fore, Style
import Utils.logger
from Utils.logger import LOGGER_CONFIG
import logging.config
import colorama
import sys
import json
import os
from cardinal import Cardinal
import Utils.exceptions as excs
logo = "XDDDDDDDDDDDDDDDDDDDDDDD"
VERSION = "0.0.8.8"
if getattr(sys, 'frozen', False):
os.chdir(os.path.dirname(sys.executable))
else:
os.chdir(os.path.dirname(__file__))
folders = ["configs", "logs", "storage", "storage/cache", "storage/plugins", "storage/products"]
for i in folders:
if not os.path.exists(i):
os.makedirs(i)
files = ["configs/auto_delivery.cfg", "configs/auto_response.cfg"]
for i in files:
if not os.path.exists(i):
with open(i, "w", encoding="utf-8") as f:
...
colorama.init()
logging.config.dictConfig(LOGGER_CONFIG)
logging.raiseExceptions = False
logger = logging.getLogger("main")
logger.debug("-------------------Новый запуск.-------------------")
print(logo)
if not os.path.exists("configs/_main.cfg"):
first_setup()
sys.exit()
try:
logger.info("$MAGENTAЗагружаю конфиг _main.cfg...")
MAIN_CFG = cfg_loader.load_main_config("configs/_main.cfg")
logger.info("$MAGENTAЗагружаю конфиг auto_response.cfg...")
AR_CFG = cfg_loader.load_auto_response_config("configs/auto_response.cfg")
RAW_AR_CFG = cfg_loader.load_raw_auto_response_config("configs/auto_response.cfg")
logger.info("$MAGENTAЗагружаю конфиг auto_delivery.cfg...")
AD_CFG = cfg_loader.load_auto_delivery_config("configs/auto_delivery.cfg")
except excs.ConfigParseError as e:
logger.error(e)
logger.error("Завершаю программу...")
sys.exit()
except UnicodeDecodeError:
logger.error("Произошла ошибка при расшифровке UTF-8. Убедитесь, что кодировка файла = UTF-8, "
"а формат конца строк = LF.")
logger.error("Завершаю программу...")
sys.exit()
except:
logger.critical("Произошла непредвиденная ошибка.")
logger.debug("TRACEBACK", exc_info=True)
logger.error("Завершаю программу...")
sys.exit()
try:
Cardinal(MAIN_CFG, AD_CFG, AR_CFG, RAW_AR_CFG, VERSION).init().run()
except KeyboardInterrupt:
logger.info("Завершаю программу...")
sys.exit()
except:
logger.critical("При работе Кардинала произошла необработанная ошибка.")
logger.debug("TRACEBACK", exc_info=True)
logger.critical("Завершаю программу...")
sys.exit()