From 2d54d64a46063c5d48e71c849f7645e31ef1445a Mon Sep 17 00:00:00 2001 From: WorldTeacher Date: Mon, 24 Nov 2025 12:40:32 +0100 Subject: [PATCH] sort imports --- src/ui/widgets/elsa_main.py | 159 ++++++++++++++++++++---------------- 1 file changed, 90 insertions(+), 69 deletions(-) diff --git a/src/ui/widgets/elsa_main.py b/src/ui/widgets/elsa_main.py index 4975b43..bca36ef 100644 --- a/src/ui/widgets/elsa_main.py +++ b/src/ui/widgets/elsa_main.py @@ -5,14 +5,14 @@ from PySide6.QtCore import QDate from PySide6.QtGui import QRegularExpressionValidator from src import Icon -from src.database import Database -from src.utils.files import recreateElsaFile from src.core.models import Prof, Semester +from src.database import Database from src.logic import elsa_word_to_csv from src.shared.logging import log from src.ui.dialogs import ElsaAddEntry, popus_confirm from src.ui.widgets.filepicker import FilePicker from src.ui.widgets.graph import DataQtGraph +from src.utils.files import recreateElsaFile from .widget_sources.elsa_maindialog_ui import Ui_Dialog @@ -22,7 +22,7 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): super().__init__() self.setupUi(self) self.table_elsa_list.setContextMenuPolicy( - QtCore.Qt.ContextMenuPolicy.CustomContextMenu + QtCore.Qt.ContextMenuPolicy.CustomContextMenu, ) self.table_elsa_list.customContextMenuRequested.connect(self.elsa_context_menu) # elsa buttons @@ -52,11 +52,11 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): # set header to occupy the whole width and auto scale based on table width self.elsa_statistics_table.horizontalHeader().setStretchLastSection(True) self.elsa_statistics_table.horizontalHeader().setSectionResizeMode( - QtWidgets.QHeaderView.ResizeMode.Stretch + QtWidgets.QHeaderView.ResizeMode.Stretch, ) # if table size gets smaller, set horitzontal headers text to be left aligned self.elsa_statistics_table.horizontalHeader().setDefaultAlignment( - QtCore.Qt.AlignmentFlag.AlignLeft + QtCore.Qt.AlignmentFlag.AlignLeft, ) # self.table_elsa_list. Icon("person", self.prof_icon) @@ -65,13 +65,13 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): self.newProf_mail.setValidator( QRegularExpressionValidator( QtCore.QRegularExpression( - r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}" - ) - ) + r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}", + ), + ), ) self.newProf_telnr.setValidator(QtGui.QIntValidator()) self.newProf_telnr.setValidator( - QtGui.QRegularExpressionValidator(QtCore.QRegularExpression(r"^\d{3,14}")) + QtGui.QRegularExpressionValidator(QtCore.QRegularExpression(r"^\d{3,14}")), ) ##Variables @@ -111,7 +111,7 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): self.elsa_save.setToolTip("Bitte erst Daten eingeben") self.newProf_mail.setToolTip("Bitte geben Sie eine gültige E-Mail ein") self.newProf_telnr.setToolTip( - "Bitte geben Sie eine gültige Telefonnummer ein" + "Bitte geben Sie eine gültige Telefonnummer ein", ) def checkProf(self): @@ -131,9 +131,7 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): def getProfs(self): profs = self.db.getProfs() - profs = [ - ("{}, {}".format(prof.lastname, prof.firstname), prof.id) for prof in profs - ] + profs = [(f"{prof.lastname}, {prof.firstname}", prof.id) for prof in profs] profs = list(set(profs)) profs.sort() @@ -142,7 +140,6 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): def elsa_context_menu(self, position): QtWidgets.QMenu() # TODO: add functions - pass def elsa_table_entry(self): data = ElsaAddEntry() @@ -240,7 +237,8 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): self.db.createProf(profdata) prof_id = self.db.getProfId(profdata) self.profs.append( - "f{}, {}".format(profdata.lastname, profdata.firstname), prof_id + f"f{profdata.lastname}, {profdata.firstname}", + prof_id, ) elsa_id = self.db.createElsaApparat( date, @@ -318,14 +316,20 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): for document in documents: self.dokument_list_elsa.insertRow(0) self.dokument_list_elsa.setItem( - 0, 0, QtWidgets.QTableWidgetItem(document[0]) + 0, + 0, + QtWidgets.QTableWidgetItem(document[0]), ) self.dokument_list_elsa.setItem( - 0, 1, QtWidgets.QTableWidgetItem(document[1]) + 0, + 1, + QtWidgets.QTableWidgetItem(document[1]), ) self.dokument_list_elsa.setItem(0, 2, QtWidgets.QTableWidgetItem("❌")) self.dokument_list_elsa.setItem( - 0, 3, QtWidgets.QTableWidgetItem("Database") + 0, + 3, + QtWidgets.QTableWidgetItem("Database"), ) scans = self.db.getElsaMedia(elsa_id) if scans == []: @@ -340,19 +344,27 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): def setElsaRow(self, scan): self.table_elsa_list.insertRow(0) self.table_elsa_list.setItem( - 0, 0, QtWidgets.QTableWidgetItem(scan["work_author"]) + 0, + 0, + QtWidgets.QTableWidgetItem(scan["work_author"]), ) self.table_elsa_list.setItem( - 0, 1, QtWidgets.QTableWidgetItem(scan["section_author"]) + 0, + 1, + QtWidgets.QTableWidgetItem(scan["section_author"]), ) self.table_elsa_list.setItem(0, 2, QtWidgets.QTableWidgetItem(scan["year"])) self.table_elsa_list.setItem(0, 3, QtWidgets.QTableWidgetItem(scan["issue"])) self.table_elsa_list.setItem(0, 4, QtWidgets.QTableWidgetItem(scan["edition"])) self.table_elsa_list.setItem( - 0, 5, QtWidgets.QTableWidgetItem(scan["work_title"]) + 0, + 5, + QtWidgets.QTableWidgetItem(scan["work_title"]), ) self.table_elsa_list.setItem( - 0, 6, QtWidgets.QTableWidgetItem(scan["chapter_title"]) + 0, + 6, + QtWidgets.QTableWidgetItem(scan["chapter_title"]), ) self.table_elsa_list.setItem( 0, @@ -361,10 +373,14 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): ) self.table_elsa_list.setItem(0, 8, QtWidgets.QTableWidgetItem(scan["location"])) self.table_elsa_list.setItem( - 0, 9, QtWidgets.QTableWidgetItem(scan["publisher"]) + 0, + 9, + QtWidgets.QTableWidgetItem(scan["publisher"]), ) self.table_elsa_list.setItem( - 0, 10, QtWidgets.QTableWidgetItem(scan["signature"]) + 0, + 10, + QtWidgets.QTableWidgetItem(scan["signature"]), ) self.table_elsa_list.setItem(0, 11, QtWidgets.QTableWidgetItem(scan["type"])) @@ -391,51 +407,52 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): def parseDokumentElsa(self): if self.dokument_list_elsa.rowCount() == 0: return - else: - # get the file path of the selected file based on it's row - row = self.dokument_list_elsa.currentRow() - file = self.dokument_list_elsa.item(row, 3).text() - file_location = file - if file == "Database": - filename = self.dokument_list_elsa.item(row, 0).text() - filetype = self.dokument_list_elsa.item(row, 1).text() + # get the file path of the selected file based on it's row + row = self.dokument_list_elsa.currentRow() + file = self.dokument_list_elsa.item(row, 3).text() + file_location = file + if file == "Database": + filename = self.dokument_list_elsa.item(row, 0).text() + filetype = self.dokument_list_elsa.item(row, 1).text() - file = recreateElsaFile( - filename=filename, filetype=filetype, open=False - ) - data, _ = elsa_word_to_csv(file) - elsa_id = self.db.getElsaId( - self.db.getProfId(Prof(fullname=self.elsa_prof.currentText())), - self.elsa_semester.text(), - self.elsa_date.text(), + file = recreateElsaFile( + filename=filename, + filetype=filetype, + open=False, ) - log.debug( - f"elsa_id: {elsa_id}, prof: {self.elsa_prof.currentText()}, semester: {self.elsa_semester.text()}, date: {self.elsa_date.text()}" + data, _ = elsa_word_to_csv(file) + elsa_id = self.db.getElsaId( + self.db.getProfId(Prof(fullname=self.elsa_prof.currentText())), + self.elsa_semester.text(), + self.elsa_date.text(), + ) + log.debug( + f"elsa_id: {elsa_id}, prof: {self.elsa_prof.currentText()}, semester: {self.elsa_semester.text()}, date: {self.elsa_date.text()}", + ) + if file_location != "Database": + self.db.insertElsaFile( + [ + { + "name": file.split("/")[-1], + "path": file, + "type": file.split(".")[-1], + }, + ], + elsa_id, ) - if file_location != "Database": - self.db.insertElsaFile( - [ - { - "name": file.split("/")[-1], - "path": file, - "type": file.split(".")[-1], - } - ], - elsa_id, - ) - for row in data: - if self.seperateEntries.isChecked(): - if ";" in row["pages"]: - count = row["pages"].split(";") - for i in range(len(count)): - row["pages"] = count[i] - self.setElsaRow( - row, - ) - self.db.addElsaMedia(row, elsa_id) - else: - self.setElsaRow(row) - self.db.addElsaMedia(row, elsa_id) + for row in data: + if self.seperateEntries.isChecked(): + if ";" in row["pages"]: + count = row["pages"].split(";") + for i in range(len(count)): + row["pages"] = count[i] + self.setElsaRow( + row, + ) + self.db.addElsaMedia(row, elsa_id) + else: + self.setElsaRow(row) + self.db.addElsaMedia(row, elsa_id) self.quote_entry.setEnabled(True) @@ -454,7 +471,7 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): self.elsa_cancel_create.click() try: self.elsa_statistics.removeTab(1) - except: + except IndexError: log.debug("No tab to remove") self.elsa_table.setRowCount(0) elsa_apparats = self.db.getElsaApparats() @@ -486,10 +503,14 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog): for i in range(len(self.graph_data["x"])): self.elsa_statistics_table.insertRow(0) self.elsa_statistics_table.setItem( - 0, 0, QtWidgets.QTableWidgetItem(self.graph_data["x"][i]) + 0, + 0, + QtWidgets.QTableWidgetItem(self.graph_data["x"][i]), ) self.elsa_statistics_table.setItem( - 0, 1, QtWidgets.QTableWidgetItem(str(self.graph_data["y"][i])) + 0, + 1, + QtWidgets.QTableWidgetItem(str(self.graph_data["y"][i])), ) self.elsa_statistics.addTab(graph, "Graph")