more AI optimizations, reworked logger
This commit is contained in:
@@ -3,20 +3,15 @@ import re
|
||||
import smtplib
|
||||
import sys
|
||||
|
||||
import loguru
|
||||
from PySide6 import QtWidgets
|
||||
|
||||
from src import LOG_DIR, Icon
|
||||
from src import Icon
|
||||
from src import settings as config
|
||||
from src.shared.logging import log
|
||||
|
||||
from .dialog_sources.mail_preview_ui import Ui_eMailPreview as MailPreviewDialog
|
||||
from .mailTemplate import MailTemplateDialog
|
||||
|
||||
log = loguru.logger
|
||||
log.remove()
|
||||
log.add(sys.stdout, level="INFO")
|
||||
log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days")
|
||||
|
||||
CSS_RESET = "<style>html,body{margin:0;padding:0}p{margin:0}</style>"
|
||||
|
||||
empty_signature = """"""
|
||||
|
||||
@@ -1,20 +1,11 @@
|
||||
import sys
|
||||
|
||||
import loguru
|
||||
from PySide6 import QtCore, QtWidgets
|
||||
|
||||
from src import LOG_DIR
|
||||
from src.backend.catalogue import Catalogue
|
||||
from src.backend.database import Database
|
||||
from src.ui.dialogs.mail import Mail_Dialog
|
||||
|
||||
from .dialog_sources.order_neweditions_ui import Ui_Dialog
|
||||
|
||||
log = loguru.logger
|
||||
log.remove()
|
||||
log.add(sys.stdout, level="INFO")
|
||||
log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days")
|
||||
|
||||
|
||||
class NewEditionDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
def __init__(self, app_id, mail_data):
|
||||
@@ -31,10 +22,7 @@ class NewEditionDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
|
||||
def populateTable(self):
|
||||
for book in self.books:
|
||||
signature = book.signature
|
||||
# if signature is None or signature == "None" and book.ppn is not None:
|
||||
# signature = self.catalogue.get_signature(f"kid:{book.ppn}")
|
||||
# book.signature = signature
|
||||
# signature not required here; using book.signature directly when needed
|
||||
link_label = QtWidgets.QLabel()
|
||||
link = (
|
||||
book.link
|
||||
|
||||
@@ -1,20 +1,12 @@
|
||||
import sys
|
||||
from typing import Any
|
||||
|
||||
import darkdetect
|
||||
import loguru
|
||||
from PySide6 import QtCore, QtWidgets
|
||||
from PySide6.QtCore import QDate
|
||||
from PySide6.QtGui import QColor, QPen
|
||||
|
||||
from src import LOG_DIR
|
||||
from src.backend import Database
|
||||
|
||||
log = loguru.logger
|
||||
log.remove()
|
||||
log.add(sys.stdout, level="INFO")
|
||||
log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days")
|
||||
|
||||
from src.shared.logging import log
|
||||
|
||||
color = "#ddfb00" if darkdetect.isDark() else "#2204ff"
|
||||
pen = QPen(QColor(color))
|
||||
|
||||
@@ -1,25 +1,19 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
import loguru
|
||||
from PySide6 import QtCore, QtGui, QtWidgets
|
||||
from PySide6.QtCore import QDate
|
||||
from PySide6.QtGui import QRegularExpressionValidator
|
||||
|
||||
from src import LOG_DIR, Icon
|
||||
from src import Icon
|
||||
from src.backend import Database, recreateElsaFile
|
||||
from src.logic import Prof, Semester, 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 .widget_sources.elsa_maindialog_ui import Ui_Dialog
|
||||
|
||||
log = loguru.logger
|
||||
log.remove()
|
||||
log.add(sys.stdout, level="INFO")
|
||||
log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days")
|
||||
|
||||
|
||||
class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
def __init__(self):
|
||||
@@ -399,6 +393,7 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
# 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()
|
||||
@@ -415,16 +410,17 @@ class ElsaDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
log.debug(
|
||||
f"elsa_id: {elsa_id}, prof: {self.elsa_prof.currentText()}, semester: {self.elsa_semester.text()}, date: {self.elsa_date.text()}"
|
||||
)
|
||||
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"]:
|
||||
|
||||
@@ -1,20 +1,12 @@
|
||||
import random
|
||||
import sys
|
||||
from typing import Any, Union
|
||||
|
||||
import loguru
|
||||
from PySide6 import QtCore, QtGui, QtWidgets
|
||||
from PySide6.QtCharts import QCategoryAxis, QChart, QChartView, QLineSeries, QValueAxis
|
||||
from PySide6.QtGui import QColor, QPainter, QPen
|
||||
|
||||
from src import LOG_DIR
|
||||
from src.logic.semester import Semester
|
||||
|
||||
log = loguru.logger
|
||||
log.remove()
|
||||
log.add(sys.stdout, level="INFO")
|
||||
log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days")
|
||||
|
||||
|
||||
def mergedicts(d1: dict[str, Any], d2: dict[str, Any]):
|
||||
res: dict[str, Any] = {}
|
||||
@@ -182,16 +174,3 @@ class DataQtGraph(QtWidgets.QWidget):
|
||||
# split the data back into x and y
|
||||
data = {"x": list(data.keys()), "y": list(data.values())}
|
||||
return data
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
|
||||
graph_data = {"x": ["WiSe 25/26", "WiSe 24/25", "SoSe 25"], "y": [1, 2, 1]}
|
||||
widget = DataGraph(
|
||||
"ELSA Apparate pro Semester", graph_data, True, "Anzahl der Apparate"
|
||||
)
|
||||
widget.show()
|
||||
sys.exit(app.exec())
|
||||
|
||||
@@ -1,26 +1,19 @@
|
||||
import sys
|
||||
from typing import List
|
||||
|
||||
import loguru
|
||||
from natsort import natsorted
|
||||
from PySide6 import QtCore, QtGui, QtWidgets
|
||||
from PySide6.QtCore import Signal
|
||||
|
||||
from src import LOG_DIR
|
||||
from src.backend import Database
|
||||
from src.logic import BookData, Prof, Semester, custom_sort, sort_semesters_list
|
||||
from src.logic.dataclass import Apparat
|
||||
from src.shared.logging import log
|
||||
from src.ui.dialogs import ApparatExtendDialog, Mail_Dialog, ReminderDialog
|
||||
from src.ui.widgets import DataQtGraph, StatusWidget
|
||||
from src.ui.widgets.signature_update import UpdaterThread
|
||||
|
||||
from .widget_sources.search_statistic_page_ui import Ui_Dialog
|
||||
|
||||
log = loguru.logger
|
||||
log.remove()
|
||||
log.add(sys.stdout, level="INFO")
|
||||
log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days")
|
||||
|
||||
|
||||
class MyComboBox(QtWidgets.QComboBox):
|
||||
def __init__(self, parent=None):
|
||||
@@ -477,15 +470,7 @@ class SearchStatisticPage(QtWidgets.QDialog, Ui_Dialog):
|
||||
data = []
|
||||
|
||||
for entry in result:
|
||||
if "deletable" in params.keys():
|
||||
sem = Semester().from_string(
|
||||
entry[8] if entry[8] is not None else entry[5]
|
||||
)
|
||||
log.info(f"Semester: {sem}")
|
||||
if sem.isPastSemester(Semester()):
|
||||
data.append(entry)
|
||||
else:
|
||||
data.append(entry)
|
||||
data.append(entry)
|
||||
self.tableWidget.setRowCount(len(data))
|
||||
if len(data) > 0:
|
||||
self.btn_del_select_apparats.setEnabled(True)
|
||||
|
||||
@@ -1,28 +1,13 @@
|
||||
import sys
|
||||
from datetime import datetime
|
||||
|
||||
import loguru
|
||||
from PySide6 import QtCore, QtWidgets
|
||||
from PySide6.QtMultimedia import QAudioOutput, QMediaPlayer
|
||||
|
||||
from src import LOG_DIR
|
||||
from src.backend.catalogue import Catalogue
|
||||
from src.backend.database import Database
|
||||
from src.logic.SRU import SWB
|
||||
from src.shared.logging import log
|
||||
|
||||
from .widget_sources.admin_update_signatures_ui import Ui_Dialog
|
||||
|
||||
log = loguru.logger
|
||||
log.remove()
|
||||
log.add(sys.stdout, level="INFO")
|
||||
log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days")
|
||||
|
||||
log.add(
|
||||
f"{LOG_DIR}/{datetime.now().strftime('%Y-%m-%d')}.log",
|
||||
rotation="1 day",
|
||||
retention="1 month",
|
||||
)
|
||||
|
||||
|
||||
class UpdaterThread(QtCore.QThread):
|
||||
progress = QtCore.Signal(int)
|
||||
|
||||
@@ -1,23 +1,17 @@
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
import loguru
|
||||
from appdirs import AppDirs
|
||||
from PySide6 import QtCore, QtWidgets
|
||||
|
||||
from src import LOG_DIR, settings
|
||||
from src import settings
|
||||
from src.backend import Database
|
||||
from src.shared.logging import log
|
||||
|
||||
from .widget_sources.welcome_wizard_ui import Ui_Wizard
|
||||
|
||||
appdirs = AppDirs("SemesterApparatsManager", "SAM")
|
||||
|
||||
log = loguru.logger
|
||||
log.remove()
|
||||
log.add(sys.stdout, level="INFO")
|
||||
log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days")
|
||||
|
||||
|
||||
class WelcomeWizard(QtWidgets.QWizard, Ui_Wizard):
|
||||
def __init__(self, parent=None):
|
||||
|
||||
Reference in New Issue
Block a user