From 7c6ffea0182850698849693f9db621c792cdc855 Mon Sep 17 00:00:00 2001 From: "Christopher T. Johnson" Date: Fri, 14 Feb 2025 12:17:43 -0500 Subject: [PATCH] Linting --- MainWindow.py | 52 ++++++++++++++++++++++------ docketModel.py | 6 ++-- dockettableview.py | 84 ++++++++++++++++++++++++++++++++++------------ pdfView.py | 7 ++-- scotus-pull.py | 1 + 5 files changed, 113 insertions(+), 37 deletions(-) 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)