diff --git a/MainWindow.py b/MainWindow.py
index a647976..637c29f 100644
--- a/MainWindow.py
+++ b/MainWindow.py
@@ -1,14 +1,43 @@
from typing import Any, Self, cast
-from PySide6.QtCore import QDate, QEvent, QModelIndex, QObject, QPersistentModelIndex, QPoint, QRect, QSize, Signal, Qt, Slot
-from PySide6.QtGui import QColor, QFont, QPainter, QTextDocument, QTextDocumentFragment
+
+from PySide6.QtCore import (
+ QDate,
+ QEvent,
+ QModelIndex,
+ QObject,
+ QPersistentModelIndex,
+ QPoint,
+ QRect,
+ QSize,
+ Qt,
+ Signal,
+ Slot,
+)
+from PySide6.QtGui import (
+ QColor,
+ QFont,
+ QPainter,
+ QTextDocument,
+ QTextDocumentFragment,
+)
from PySide6.QtSql import QSqlTableModel
-from PySide6.QtWidgets import QAbstractItemView, QHeaderView, QMainWindow, QStyle, QStyleOptionViewItem, QStyledItemDelegate, QTableView, QWidget
+from PySide6.QtWidgets import (
+ QAbstractItemView,
+ QHeaderView,
+ QMainWindow,
+ QStyle,
+ QStyledItemDelegate,
+ QStyleOptionViewItem,
+ QTableView,
+ QWidget,
+)
from docketModel import docketModel
from dockettableview import documentDelegate
from ui.MainWindow import Ui_MainWindow
from workers import loadCases, updateThread
+
class QStyleOptionViewItemInit(QStyleOptionViewItem):
backgroundBrush: QColor
rect: QRect
@@ -16,6 +45,7 @@ class QStyleOptionViewItemInit(QStyleOptionViewItem):
font: QFont
text: str
+
class dateDelegate(QStyledItemDelegate):
def displayText(self, value: QDate, _: Any) -> str:
return value.toString("MMMM d, yyyy")
@@ -49,7 +79,6 @@ class activeDelegate(QStyledItemDelegate):
return
-
class MainWindow(QMainWindow, Ui_MainWindow):
show_entries = Signal(int)
@@ -58,9 +87,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self) -> None:
super(MainWindow, self).__init__()
self.setupUi(self)
- #self.loadThread = loadCases()
- #self.loadThread.finished.connect(self.updateDone)
- #self.loadThread.start()
+ # self.loadThread = loadCases()
+ # self.loadThread.finished.connect(self.updateDone)
+ # self.loadThread.start()
model = QSqlTableModel()
model.setTable("cases")
@@ -105,7 +134,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
1, QHeaderView.ResizeMode.Stretch
)
self.docketView.resizeRowsToContents()
- #self.docketView.setItemDelegateForColumn(1, documentDelegate())
+ # self.docketView.setItemDelegateForColumn(1, documentDelegate())
return
@Slot(QModelIndex) # type: ignore
@@ -135,12 +164,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.updateThread.start()
return
- @Slot()
- def clickedEvent(self, pos:QPoint) -> None:
+ @Slot(QPoint) # type: ignore
+ def clickedEvent(self, pos: QPoint) -> None:
print(pos)
viewport = self.docketView.viewport()
- print(viewport,viewport.children())
+ print(viewport, viewport.children())
return
+
@Slot()
def updateDone(self) -> None:
self.updateThread = None
diff --git a/docketModel.py b/docketModel.py
index 33adc9c..ba457e1 100644
--- a/docketModel.py
+++ b/docketModel.py
@@ -24,7 +24,7 @@ class docketModel(QAbstractTableModel):
return
self.newCase(case_id)
return
-
+
def newCase(self, case_id: int) -> None:
self.beginResetModel()
self.entries = []
@@ -48,7 +48,9 @@ class docketModel(QAbstractTableModel):
query_error(q2)
row = []
while q2.next():
- row.append(f'{q2.value("name")}')
+ row.append(
+ f'{q2.value("name")}'
+ )
if len(row) > 0:
self.entries.append([None, " ".join(row)])
self.endResetModel()
diff --git a/dockettableview.py b/dockettableview.py
index baa2244..cc44dcb 100644
--- a/dockettableview.py
+++ b/dockettableview.py
@@ -1,10 +1,49 @@
-from typing import cast
-from PySide6.QtCore import QAbstractItemModel, QDir, QEvent, QFile, QModelIndex, QObject, QPersistentModelIndex, QPoint, QRect, QSize, QUrl, Signal, Qt, Slot
-from PySide6.QtGui import QColor, QFont, QMouseEvent, QPainter, QPalette, QShowEvent, QTextDocument
-from PySide6.QtWidgets import QApplication, QSizePolicy, QStyle, QStyleOptionViewItem, QStyledItemDelegate, QTableView, QTextEdit, QWidget
-from PySide6.QtNetwork import QNetworkAccessManager, QNetworkReply, QNetworkRequest
+from typing import Any, cast
+
+from PySide6.QtCore import (
+ QAbstractItemModel,
+ QDir,
+ QEvent,
+ QFile,
+ QModelIndex,
+ QObject,
+ QPersistentModelIndex,
+ QPoint,
+ QRect,
+ QSize,
+ Qt,
+ QUrl,
+ Signal,
+ Slot,
+)
+from PySide6.QtGui import (
+ QColor,
+ QFont,
+ QMouseEvent,
+ QPainter,
+ QPalette,
+ QShowEvent,
+ QTextDocument,
+)
+from PySide6.QtNetwork import (
+ QNetworkAccessManager,
+ QNetworkReply,
+ QNetworkRequest,
+)
+from PySide6.QtWidgets import (
+ QApplication,
+ QSizePolicy,
+ QStyle,
+ QStyledItemDelegate,
+ QStyleOptionViewItem,
+ QTableView,
+ QTextEdit,
+ QWidget,
+)
from pdfView import PDFViewer
+
+
class QStyleOptionViewItemInit(QStyleOptionViewItem):
backgroundBrush: QColor
rect: QRect
@@ -12,6 +51,7 @@ class QStyleOptionViewItemInit(QStyleOptionViewItem):
font: QFont
text: str
+
class documentDelegate(QStyledItemDelegate):
def initStyleOption(
self,
@@ -71,14 +111,14 @@ class docketEntry(QTextEdit):
print(f"self.size(): {self.size()}")
if anchor:
print(f"Anchors away: {anchor}")
- obj = self
+ obj = cast(QObject, self)
while not isinstance(obj, docketTableView) and obj is not None:
obj = obj.parent()
assert obj is not None
index = obj.indexAt(obj.mapFromGlobal(self.mapToGlobal(e.pos())))
obj.anchorSignal.emit(index, anchor)
return
-
+
def sizeHint(self) -> QSize:
size = self.size()
doc = QTextDocument()
@@ -94,21 +134,22 @@ class docketTableView(QTableView):
clickedEvent = Signal(QPoint)
anchorSignal = Signal(QModelIndex, str)
- def __init__(self, parent: QWidget|None = None) -> None:
- super(docketTableView,self).__init__(parent)
+ def __init__(self, parent: QWidget | None = None) -> None:
+ super(docketTableView, self).__init__(parent)
self.anchorSignal.connect(self.doAnchor)
self.manager.finished.connect(self.getDone)
return
-
+
def setModel(self, model: QAbstractItemModel | None) -> None:
assert model is not None
super().setModel(model)
self.model().modelReset.connect(self.modelReset)
print("Setting Model")
return
- @Slot(QNetworkReply) # type: ignore
- def getDone(self, reply:QNetworkReply) -> None:
- dest = QFile('.'+reply.url().path())
+
+ @Slot(QNetworkReply) # type: ignore
+ def getDone(self, reply: QNetworkReply) -> None:
+ dest = QFile("." + reply.url().path())
dest.open(QFile.OpenModeFlag.WriteOnly)
dest.write(reply.readAll())
dest.close()
@@ -117,33 +158,34 @@ class docketTableView(QTableView):
self.pdf.load_pdf(dest)
self.pdf.show()
return
-
- @Slot(QModelIndex, str) # type: ignore
+
+ @Slot(QModelIndex, str) # type: ignore
def doAnchor(self, index: QModelIndex, anchor: str) -> None:
url = QUrl(anchor)
print(f"{index.row()}, {index.column()} -> {url.path()}")
- dirs = url.path().split('/')
+ dirs = url.path().split("/")
dirs.pop()
dirs.pop(0)
currentDir = QDir()
- path = '/'.join(dirs)
+ path = "/".join(dirs)
currentDir.mkpath(path)
- if QDir('.'+url.path()).exists():
- file = QFile('.'+url.path())
+ if QDir("." + url.path()).exists():
+ file = QFile("." + url.path())
self.pdf = PDFViewer(self)
self.pdf.load_pdf(file)
self.pdf.show()
else:
self.manager.get(QNetworkRequest(url))
return
+
def modelReset(self) -> None:
model = self.model()
red = QPalette()
red.setColor(QPalette.ColorRole.Base, Qt.GlobalColor.red)
for row in range(0, model.rowCount()):
- index = model.index(row,1)
+ index = model.index(row, 1)
widget = docketEntry()
- widget.setHtml(model.data(index,Qt.ItemDataRole.DisplayRole))
+ widget.setHtml(model.data(index, Qt.ItemDataRole.DisplayRole))
widget.setAutoFillBackground(False)
widget.setReadOnly(True)
widget.setPalette(red)
diff --git a/pdfView.py b/pdfView.py
index d1646b1..1249e54 100644
--- a/pdfView.py
+++ b/pdfView.py
@@ -1,12 +1,13 @@
from PySide6.QtCore import QFile
-from PySide6.QtWidgets import QDialog, QVBoxLayout, QWidget
-from PySide6.QtPdfWidgets import QPdfView
from PySide6.QtPdf import QPdfDocument
+from PySide6.QtPdfWidgets import QPdfView
+from PySide6.QtWidgets import QDialog, QVBoxLayout, QWidget
+
class PDFViewer(QDialog):
pdf_view: QPdfView
pdf_document: QPdfDocument
-
+
def __init__(self, parent: QWidget) -> None:
super(PDFViewer, self).__init__(parent)
diff --git a/scotus-pull.py b/scotus-pull.py
index 90556f1..24b87e9 100755
--- a/scotus-pull.py
+++ b/scotus-pull.py
@@ -10,6 +10,7 @@ from PySide6.QtWidgets import (
from MainWindow import MainWindow
+
def main() -> int:
#
app = QApplication(sys.argv)