mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-04-16 07:40:18 +00:00
56 lines
1.6 KiB
Python
56 lines
1.6 KiB
Python
import logging
|
|
import sys
|
|
import traceback
|
|
|
|
from arcaea_offline.database import Database
|
|
from PySide6.QtCore import QCoreApplication, QLocale
|
|
from PySide6.QtGui import QIcon
|
|
from PySide6.QtWidgets import QApplication, QDialog, QMessageBox
|
|
|
|
import ui.resources.resources_rc
|
|
from ui.extends.shared.language import changeAppLanguage
|
|
from ui.extends.shared.settings import Settings
|
|
from ui.implements.mainwindow import MainWindow
|
|
from ui.startup.databaseChecker import DatabaseChecker, DatabaseCheckerResult
|
|
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
stream=sys.stdout,
|
|
force=True,
|
|
format="[{levelname}]{asctime}|{name}: {msg}",
|
|
datefmt="%m-%d %H:%M:%S",
|
|
style="{",
|
|
)
|
|
|
|
if __name__ == "__main__":
|
|
QCoreApplication.setApplicationName("Arcaea Offline")
|
|
|
|
app = QApplication(sys.argv)
|
|
locale = (
|
|
QLocale(Settings().language()) if Settings().language() else QLocale.system()
|
|
)
|
|
changeAppLanguage(locale)
|
|
|
|
databaseChecker = DatabaseChecker()
|
|
databaseChecker.setWindowIcon(QIcon(":/images/icon.png"))
|
|
databaseCheckResult = databaseChecker.confirmDb()
|
|
|
|
if not databaseCheckResult & DatabaseCheckerResult.Initted:
|
|
result = databaseChecker.exec()
|
|
|
|
if result == QDialog.DialogCode.Accepted:
|
|
try:
|
|
Database()
|
|
except Exception as e:
|
|
QMessageBox.critical(
|
|
None, "Database Error", "\n".join(traceback.format_exception(e))
|
|
)
|
|
sys.exit(1)
|
|
else:
|
|
sys.exit(1)
|
|
|
|
window = MainWindow()
|
|
window.setWindowIcon(QIcon(":/images/icon.png"))
|
|
window.show()
|
|
sys.exit(app.exec())
|