Files
scotus-watch/scotus-pull.py
Christopher T. Johnson 71b0a6a112 Lint
2025-02-27 13:44:45 -05:00

54 lines
1.3 KiB
Python
Executable File

#!venv/bin/python3
import faulthandler
import sys
from typing import cast
from PySide6.QtCore import QFile
from PySide6.QtSql import (
QSqlDatabase,
)
from PySide6.QtWidgets import (
QApplication,
QDialog,
QMainWindow,
)
from lib.dbConfig import updateDatabase
from lib.utils import openSettings
from setupDialog import setupDialog
faulthandler.enable()
from MainWindow import MainWindow
def main() -> int:
#
app = QApplication(sys.argv)
settings = openSettings("database")
file = QFile(settings.fileName())
if not file.exists():
result = setupDialog().exec()
if result == QDialog.DialogCode.Rejected:
print(f"We require database credentials")
return 2
updateDatabase(settings)
db = QSqlDatabase.addDatabase("QMYSQL")
db.setHostName(settings.value("hostname"))
port = settings.value("port", "3306")
assert isinstance(port, str)
db.setPort(int(port))
db.setDatabaseName(settings.value("databasename", "scotus")) # type: ignore
db.setUserName(settings.value("user", "scotus")) # type: ignore
db.setPassword(settings.value("password"))
settings.endGroup()
db.open()
window = MainWindow()
assert isinstance(window, QMainWindow)
return app.exec()
if __name__ == "__main__":
sys.exit(main())