This commit is contained in:
Christopher T. Johnson
2025-02-25 10:14:44 -05:00
parent d46281fda7
commit 49de6b1f35
6 changed files with 49 additions and 36 deletions

View File

@@ -1,6 +1,5 @@
from datetime import date
from PySide6.QtCore import QSettings
from pony.orm import ( # type: ignore[import-untyped]
Database,
LongStr,
@@ -10,9 +9,11 @@ from pony.orm import ( # type: ignore[import-untyped]
Set,
set_sql_debug,
)
from PySide6.QtCore import QSettings
db = Database()
class Cases(db.Entity): # type: ignore[name-defined]
case_id = PrimaryKey(int, auto=True)
docket_id = Required(str)
@@ -49,15 +50,15 @@ class History(db.Entity): # type: ignore[name-defined]
def updateDatabase(settings: QSettings) -> None:
set_sql_debug(True)
engine = settings.value('engine')
if engine not in ['QMYSQL', 'MARIADB']:
engine = settings.value("engine")
if engine not in ["QMYSQL", "MARIADB"]:
raise Exception(f"Unknown database engine: {engine}")
db.bind(
provider="mysql",
user=settings.value('user'),
host=settings.value('hostname'),
database=settings.value('databasename'),
password=settings.value('password'),
user=settings.value("user"),
host=settings.value("hostname"),
database=settings.value("databasename"),
password=settings.value("password"),
)
db.generate_mapping(create_tables=True)
db.disconnect()

View File

@@ -1,6 +1,13 @@
from typing import NoReturn, cast
from PySide6.QtCore import QByteArray, QCoreApplication, QObject, QRect, QSettings, Signal
from PySide6.QtCore import (
QByteArray,
QCoreApplication,
QObject,
QRect,
QSettings,
Signal,
)
from PySide6.QtGui import QColor, QFont
from PySide6.QtSql import QSqlQuery
from PySide6.QtWidgets import QStyleOptionViewItem, QWidget
@@ -29,23 +36,26 @@ class QStyleOptionViewItemInit(QStyleOptionViewItem):
font: QFont
text: str
def openSettings(group:str|None = None) -> QSettings:
def openSettings(group: str | None = None) -> QSettings:
settings = QSettings("Troglodite Services", "SCOTUS Watch")
if group is not None:
settings.beginGroup(group)
return settings
def readGeometry(widget:QWidget) -> None:
def readGeometry(widget: QWidget) -> None:
settings = openSettings(widget.objectName())
geometry = settings.value('geometry', QByteArray())
geometry = settings.value("geometry", QByteArray())
assert isinstance(geometry, QByteArray)
if not geometry.isEmpty():
widget.restoreGeometry(geometry)
settings.endGroup()
return
def writeGeometry(widget: QWidget) -> None:
settings = openSettings(widget.objectName())
settings.setValue('geometry', widget.saveGeometry())
settings.setValue("geometry", widget.saveGeometry())
settings.endGroup()
return