Add a new dialog to get database settings. Fixes: #5
Added a new dialog for database settings. Updated dbConfig to use QSettings.
This commit is contained in:
@@ -1,16 +1,21 @@
|
||||
#!venv/bin/python3
|
||||
import faulthandler
|
||||
import sys
|
||||
from typing import cast
|
||||
|
||||
from PySide6.QtCore import QSettings
|
||||
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()
|
||||
|
||||
@@ -21,16 +26,25 @@ 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"))
|
||||
portStr = cast(str, settings.value('port', '3306'))
|
||||
db.setPort(int(portStr))
|
||||
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()
|
||||
import lib.dbConfig
|
||||
|
||||
window = MainWindow()
|
||||
assert isinstance(window, QMainWindow)
|
||||
return app.exec()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user