Lint
This commit is contained in:
@@ -175,6 +175,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|||||||
writeGeometry(self)
|
writeGeometry(self)
|
||||||
super().closeEvent(event)
|
super().closeEvent(event)
|
||||||
return
|
return
|
||||||
|
|
||||||
@Slot(QModelIndex) # type: ignore
|
@Slot(QModelIndex) # type: ignore
|
||||||
def rowClicked(self, index: QModelIndex) -> None:
|
def rowClicked(self, index: QModelIndex) -> None:
|
||||||
if not index.isValid():
|
if not index.isValid():
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
from PySide6.QtCore import QSettings
|
|
||||||
from pony.orm import ( # type: ignore[import-untyped]
|
from pony.orm import ( # type: ignore[import-untyped]
|
||||||
Database,
|
Database,
|
||||||
LongStr,
|
LongStr,
|
||||||
@@ -10,9 +9,11 @@ from pony.orm import ( # type: ignore[import-untyped]
|
|||||||
Set,
|
Set,
|
||||||
set_sql_debug,
|
set_sql_debug,
|
||||||
)
|
)
|
||||||
|
from PySide6.QtCore import QSettings
|
||||||
|
|
||||||
db = Database()
|
db = Database()
|
||||||
|
|
||||||
|
|
||||||
class Cases(db.Entity): # type: ignore[name-defined]
|
class Cases(db.Entity): # type: ignore[name-defined]
|
||||||
case_id = PrimaryKey(int, auto=True)
|
case_id = PrimaryKey(int, auto=True)
|
||||||
docket_id = Required(str)
|
docket_id = Required(str)
|
||||||
@@ -49,15 +50,15 @@ class History(db.Entity): # type: ignore[name-defined]
|
|||||||
|
|
||||||
def updateDatabase(settings: QSettings) -> None:
|
def updateDatabase(settings: QSettings) -> None:
|
||||||
set_sql_debug(True)
|
set_sql_debug(True)
|
||||||
engine = settings.value('engine')
|
engine = settings.value("engine")
|
||||||
if engine not in ['QMYSQL', 'MARIADB']:
|
if engine not in ["QMYSQL", "MARIADB"]:
|
||||||
raise Exception(f"Unknown database engine: {engine}")
|
raise Exception(f"Unknown database engine: {engine}")
|
||||||
db.bind(
|
db.bind(
|
||||||
provider="mysql",
|
provider="mysql",
|
||||||
user=settings.value('user'),
|
user=settings.value("user"),
|
||||||
host=settings.value('hostname'),
|
host=settings.value("hostname"),
|
||||||
database=settings.value('databasename'),
|
database=settings.value("databasename"),
|
||||||
password=settings.value('password'),
|
password=settings.value("password"),
|
||||||
)
|
)
|
||||||
db.generate_mapping(create_tables=True)
|
db.generate_mapping(create_tables=True)
|
||||||
db.disconnect()
|
db.disconnect()
|
||||||
|
|||||||
20
lib/utils.py
20
lib/utils.py
@@ -1,6 +1,13 @@
|
|||||||
from typing import NoReturn, cast
|
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.QtGui import QColor, QFont
|
||||||
from PySide6.QtSql import QSqlQuery
|
from PySide6.QtSql import QSqlQuery
|
||||||
from PySide6.QtWidgets import QStyleOptionViewItem, QWidget
|
from PySide6.QtWidgets import QStyleOptionViewItem, QWidget
|
||||||
@@ -29,23 +36,26 @@ class QStyleOptionViewItemInit(QStyleOptionViewItem):
|
|||||||
font: QFont
|
font: QFont
|
||||||
text: str
|
text: str
|
||||||
|
|
||||||
def openSettings(group:str|None = None) -> QSettings:
|
|
||||||
|
def openSettings(group: str | None = None) -> QSettings:
|
||||||
settings = QSettings("Troglodite Services", "SCOTUS Watch")
|
settings = QSettings("Troglodite Services", "SCOTUS Watch")
|
||||||
if group is not None:
|
if group is not None:
|
||||||
settings.beginGroup(group)
|
settings.beginGroup(group)
|
||||||
return settings
|
return settings
|
||||||
|
|
||||||
def readGeometry(widget:QWidget) -> None:
|
|
||||||
|
def readGeometry(widget: QWidget) -> None:
|
||||||
settings = openSettings(widget.objectName())
|
settings = openSettings(widget.objectName())
|
||||||
geometry = settings.value('geometry', QByteArray())
|
geometry = settings.value("geometry", QByteArray())
|
||||||
assert isinstance(geometry, QByteArray)
|
assert isinstance(geometry, QByteArray)
|
||||||
if not geometry.isEmpty():
|
if not geometry.isEmpty():
|
||||||
widget.restoreGeometry(geometry)
|
widget.restoreGeometry(geometry)
|
||||||
settings.endGroup()
|
settings.endGroup()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
def writeGeometry(widget: QWidget) -> None:
|
def writeGeometry(widget: QWidget) -> None:
|
||||||
settings = openSettings(widget.objectName())
|
settings = openSettings(widget.objectName())
|
||||||
settings.setValue('geometry', widget.saveGeometry())
|
settings.setValue("geometry", widget.saveGeometry())
|
||||||
settings.endGroup()
|
settings.endGroup()
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ class PDFViewer(QDialog, Ui_pdfViewer):
|
|||||||
def __init__(self, parent: QWidget | None) -> None:
|
def __init__(self, parent: QWidget | None) -> None:
|
||||||
super(PDFViewer, self).__init__(parent)
|
super(PDFViewer, self).__init__(parent)
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
self.setObjectName('PDFViewer')
|
self.setObjectName("PDFViewer")
|
||||||
readGeometry(self)
|
readGeometry(self)
|
||||||
print(self.objectName())
|
print(self.objectName())
|
||||||
self.zoomSelector = ZoomSelector(self)
|
self.zoomSelector = ZoomSelector(self)
|
||||||
|
|||||||
@@ -25,20 +25,20 @@ from MainWindow import MainWindow
|
|||||||
def main() -> int:
|
def main() -> int:
|
||||||
#
|
#
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
settings = openSettings('database')
|
settings = openSettings("database")
|
||||||
file = QFile(settings.fileName())
|
file = QFile(settings.fileName())
|
||||||
if not file.exists():
|
if not file.exists():
|
||||||
result = setupDialog().exec()
|
result = setupDialog().exec()
|
||||||
if result == QDialog.DialogCode.Rejected:
|
if result == QDialog.DialogCode.Rejected:
|
||||||
print(f"We require database credentials")
|
print(f"We require database credentials")
|
||||||
return(2)
|
return 2
|
||||||
updateDatabase(settings)
|
updateDatabase(settings)
|
||||||
db = QSqlDatabase.addDatabase("QMYSQL")
|
db = QSqlDatabase.addDatabase("QMYSQL")
|
||||||
db.setHostName(settings.value("hostname"))
|
db.setHostName(settings.value("hostname"))
|
||||||
portStr = cast(str, settings.value('port', '3306'))
|
portStr = cast(str, settings.value("port", "3306"))
|
||||||
db.setPort(int(portStr))
|
db.setPort(int(portStr))
|
||||||
db.setDatabaseName(settings.value("databasename","scotus")) # type: ignore
|
db.setDatabaseName(settings.value("databasename", "scotus")) # type: ignore
|
||||||
db.setUserName(settings.value("user","scotus")) # type: ignore
|
db.setUserName(settings.value("user", "scotus")) # type: ignore
|
||||||
db.setPassword(settings.value("password"))
|
db.setPassword(settings.value("password"))
|
||||||
settings.endGroup()
|
settings.endGroup()
|
||||||
db.open()
|
db.open()
|
||||||
|
|||||||
@@ -1,20 +1,21 @@
|
|||||||
from PySide6.QtCore import Slot, Qt
|
from PySide6.QtCore import Qt, Slot
|
||||||
from PySide6.QtGui import QPalette
|
from PySide6.QtGui import QPalette
|
||||||
from PySide6.QtWidgets import QDialog, QStatusBar, QVBoxLayout, QWidget
|
from PySide6.QtWidgets import QDialog, QStatusBar, QVBoxLayout, QWidget
|
||||||
|
|
||||||
from lib.utils import openSettings
|
from lib.utils import openSettings
|
||||||
from ui.dbSetup import Ui_setupDialog
|
from ui.dbSetup import Ui_setupDialog
|
||||||
|
|
||||||
class setupDialog(QDialog,Ui_setupDialog):
|
|
||||||
def __init__(self, parent: QWidget | None = None):
|
class setupDialog(QDialog, Ui_setupDialog):
|
||||||
super(setupDialog,self).__init__(parent)
|
def __init__(self, parent: QWidget | None = None) -> None:
|
||||||
|
super(setupDialog, self).__init__(parent)
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
self.sqliteEdit.setEnabled(False)
|
self.sqliteEdit.setEnabled(False)
|
||||||
|
|
||||||
layout = self.layout()
|
layout = self.layout()
|
||||||
assert isinstance(layout, QVBoxLayout)
|
assert isinstance(layout, QVBoxLayout)
|
||||||
self.statusBar = QStatusBar(self)
|
self.statusBar = QStatusBar(self)
|
||||||
self.statusBar.setObjectName('statusBar')
|
self.statusBar.setObjectName("statusBar")
|
||||||
where = layout.indexOf(self.buttonBox)
|
where = layout.indexOf(self.buttonBox)
|
||||||
layout.insertWidget(where, self.statusBar)
|
layout.insertWidget(where, self.statusBar)
|
||||||
self.pwEdit.editingFinished.connect(self.pwDone)
|
self.pwEdit.editingFinished.connect(self.pwDone)
|
||||||
@@ -22,7 +23,7 @@ class setupDialog(QDialog,Ui_setupDialog):
|
|||||||
return
|
return
|
||||||
|
|
||||||
@Slot()
|
@Slot()
|
||||||
def pwDone(self):
|
def pwDone(self) -> None:
|
||||||
pw = self.pwEdit.text()
|
pw = self.pwEdit.text()
|
||||||
confirm = self.pwConfirmEdit.text()
|
confirm = self.pwConfirmEdit.text()
|
||||||
|
|
||||||
@@ -37,29 +38,29 @@ class setupDialog(QDialog,Ui_setupDialog):
|
|||||||
self.pwGood = True
|
self.pwGood = True
|
||||||
return
|
return
|
||||||
|
|
||||||
@Slot(int) # type: ignore
|
@Slot(int) # type: ignore
|
||||||
def done(self, r:int) -> None:
|
def done(self, r: int) -> None:
|
||||||
if r == QDialog.DialogCode.Rejected:
|
if r == QDialog.DialogCode.Rejected:
|
||||||
super(setupDialog,self).done(r)
|
super(setupDialog, self).done(r)
|
||||||
return
|
return
|
||||||
self.pwDone()
|
self.pwDone()
|
||||||
if not self.pwGood:
|
if not self.pwGood:
|
||||||
return
|
return
|
||||||
super(setupDialog,self).done(r)
|
super(setupDialog, self).done(r)
|
||||||
return
|
return
|
||||||
|
|
||||||
@Slot()
|
@Slot()
|
||||||
def accept(self) -> None:
|
def accept(self) -> None:
|
||||||
settings=openSettings('database')
|
settings = openSettings("database")
|
||||||
settings.setValue('hostname', self.hostEdit.text())
|
settings.setValue("hostname", self.hostEdit.text())
|
||||||
settings.setValue('databasename', self.dbEdit.text())
|
settings.setValue("databasename", self.dbEdit.text())
|
||||||
settings.setValue('user',self.userEdit.text())
|
settings.setValue("user", self.userEdit.text())
|
||||||
settings.setValue('password', self.pwEdit.text())
|
settings.setValue("password", self.pwEdit.text())
|
||||||
settings.setValue('port', self.portEdit.text())
|
settings.setValue("port", self.portEdit.text())
|
||||||
if self.comboBox.currentIndex() == 0:
|
if self.comboBox.currentIndex() == 0:
|
||||||
settings.setValue('engine', 'QMYSQL')
|
settings.setValue("engine", "QMYSQL")
|
||||||
elif self.comboBox.currentIndex() == 1:
|
elif self.comboBox.currentIndex() == 1:
|
||||||
settings.setValue('engine', 'QSQLITE')
|
settings.setValue("engine", "QSQLITE")
|
||||||
# Other types: QDB2, QIBASE, QOCI, QODBC, QPSQL, QMIMER
|
# Other types: QDB2, QIBASE, QOCI, QODBC, QPSQL, QMIMER
|
||||||
else:
|
else:
|
||||||
print("Bad Database Type")
|
print("Bad Database Type")
|
||||||
|
|||||||
Reference in New Issue
Block a user