update code, switch to loguru
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
from src import log
|
||||
from .sources.Ui_dialog_createUser import Ui_Dialog
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
from PyQt6.QtGui import QRegularExpressionValidator
|
||||
from src.logic import Database
|
||||
from src.utils import Icon, Log
|
||||
from src.utils import Icon
|
||||
|
||||
class CreateUser(QtWidgets.QDialog, Ui_Dialog):
|
||||
def __init__(self, fieldname, data):
|
||||
@@ -38,6 +39,7 @@ class CreateUser(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.userno.textChanged.connect(
|
||||
lambda: self.validateInputUserno(self.userno.text(), "int")
|
||||
)
|
||||
log.info("User creation dialog opened")
|
||||
def checkFields(self):
|
||||
if (
|
||||
self.username.hasAcceptableInput()
|
||||
@@ -58,7 +60,11 @@ class CreateUser(QtWidgets.QDialog, Ui_Dialog):
|
||||
usermail = self.user_mail.text()
|
||||
if self.db.insertUser(username, userno, usermail):
|
||||
self.userid = userno
|
||||
log.info(f"User {username} created")
|
||||
else:
|
||||
log.error(
|
||||
f"User {username} could not be created, input was: {username}, {userno}, {usermail}"
|
||||
)
|
||||
self.setStatusTipMessage(
|
||||
"Benutzer konnte nicht erstellt werden, bitte überprüfen Sie die Eingaben"
|
||||
)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
from .sources.Ui_main_Loans import Ui_MainWindow
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
from src import log
|
||||
from .user import UserUI
|
||||
from src.logic import Database
|
||||
from src.utils import stringToDate, Icon
|
||||
from src.utils import debugMessage as dbg
|
||||
from icecream import ic
|
||||
|
||||
TABLETOFIELDTRANSLATE = {
|
||||
@@ -23,8 +23,7 @@ class LoanWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
QtWidgets.QHeaderView.ResizeMode.Stretch
|
||||
)
|
||||
self.db = Database()
|
||||
self.loans = []
|
||||
self.loadLoans()
|
||||
self.loans = self.loadLoans()
|
||||
|
||||
# lineedits
|
||||
self.searchbar.textChanged.connect(self.limitResults)
|
||||
@@ -37,6 +36,7 @@ class LoanWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
|
||||
# table
|
||||
self.loanTable.doubleClicked.connect(self.showUser)
|
||||
log.info("Loan history window opened")
|
||||
self.show()
|
||||
|
||||
def selfpass(self):
|
||||
@@ -44,7 +44,7 @@ class LoanWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
|
||||
|
||||
def insertRow(self, data):
|
||||
dbg(contents=data)
|
||||
log.debug(f"Inserting row: {data}")
|
||||
|
||||
retdate = ""
|
||||
if data.returned_date != "":
|
||||
@@ -77,9 +77,10 @@ class LoanWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
|
||||
def loadLoans(self):
|
||||
loans = self.db.getAllLoans()
|
||||
loanlist = []
|
||||
for loan in loans:
|
||||
self.insertRow(loan)
|
||||
self.loans = loans
|
||||
return loanlist
|
||||
|
||||
def filterResults(self):
|
||||
mode = (
|
||||
@@ -112,7 +113,7 @@ class LoanWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
limiter = str(limiter)
|
||||
searchfield = self.searchFields.currentText()
|
||||
searchfield = TABLETOFIELDTRANSLATE[searchfield]
|
||||
dbg(limiter=limiter, search=searchfield)
|
||||
log.debug(f"Searching for: {limiter} in {searchfield}")
|
||||
self.loanTable.setRowCount(0)
|
||||
for loan in self.loans:
|
||||
fielddata = eval(f"loan.{searchfield}")
|
||||
|
||||
@@ -2,10 +2,9 @@ import sys
|
||||
import atexit
|
||||
import datetime
|
||||
import webbrowser
|
||||
from src import config, __email__, docport
|
||||
from src import config, __email__, docport, log
|
||||
from src.logic import Database, Catalogue, Backup
|
||||
from src.utils import stringToDate, Icon, Log
|
||||
from src.utils import debugMessage as dbg
|
||||
from src.utils import stringToDate, Icon
|
||||
from src.utils.createReport import generate_report
|
||||
from src.schemas import Book
|
||||
from .sources.Ui_main_UserInterface import Ui_MainWindow
|
||||
@@ -22,8 +21,6 @@ from omegaconf import OmegaConf
|
||||
from src.logic.documentation_thread import DocumentationThread
|
||||
backup = Backup()
|
||||
cat = Catalogue()
|
||||
log = Log("main")
|
||||
dbg(backup=config.database.do_backup, catalogue=config.catalogue)
|
||||
|
||||
def getShortcut(shortcuts, name):
|
||||
shortcut = [cut for cut in shortcuts if cut["name"] == name][0]
|
||||
@@ -183,7 +180,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
|
||||
def restart(self):
|
||||
#log restart
|
||||
dbg("Restarting Program")
|
||||
log.info("Restarting Program")
|
||||
import os
|
||||
python_executable = sys.executable
|
||||
args = sys.argv[:]
|
||||
@@ -192,8 +189,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
|
||||
|
||||
def changeMode(self):
|
||||
log.info("Changing Mode")
|
||||
dbg(f"Current mode: {self.activeState}")
|
||||
log.info("Changing Mode, current mode is {}", self.activeState)
|
||||
self.input_username.clear()
|
||||
stayReturn = False
|
||||
if config.advanced_refresh and self.userdata.toPlainText() != "":
|
||||
@@ -216,7 +212,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.activateReturnMode()
|
||||
|
||||
def activateLoanMode(self):
|
||||
dbg("Activating Loan Mode")
|
||||
log.info("Activating Loan Mode")
|
||||
self.input_username.setEnabled(True)
|
||||
self.input_userno.setEnabled(True)
|
||||
self.duedate.setEnabled(True)
|
||||
@@ -234,7 +230,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.input_file_ident.setEnabled(True)
|
||||
|
||||
def activateReturnMode(self):
|
||||
dbg("Activating Return Mode")
|
||||
log.info("Activating Return Mode")
|
||||
self.input_username.setEnabled(False)
|
||||
self.input_userno.setEnabled(False)
|
||||
# set mode background color to orange
|
||||
@@ -326,7 +322,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.mode.setText("Ausleihe")
|
||||
#print(self.activeUser.__dict__)
|
||||
loans = self.db.getActiveLoans(self.activeUser.id)
|
||||
dbg(loans=loans)
|
||||
log.debug("Active Loans", loans)
|
||||
self.btn_show_lentmedia.setText(loans)
|
||||
retdate = self.db.selectClosestReturnDate(self.activeUser.id)
|
||||
if retdate:
|
||||
@@ -375,16 +371,16 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.mediaAdd(value)
|
||||
self.input_file_ident.setFocus()
|
||||
def mediaAdd(self, identifier):
|
||||
dbg("Adding Media", identifier = identifier)
|
||||
log.info("Adding Media", identifier=identifier)
|
||||
self.input_file_ident.clear()
|
||||
self.input_file_ident.setEnabled(False)
|
||||
|
||||
user_id = self.activeUser.id
|
||||
media = Book(signature=identifier)
|
||||
book_id = self.db.checkMediaExists(media)
|
||||
dbg(f"Book ID: {book_id}, User ID: {user_id}", media=media)
|
||||
log.debug(f"Book ID: {book_id}, User ID: {user_id}", media=media)
|
||||
if not book_id:
|
||||
dbg("Book not found, searching catalogue")
|
||||
log.info("Book not found, searching catalogue")
|
||||
if config.catalogue == True:
|
||||
media = cat.get_book(identifier)
|
||||
if not media:
|
||||
@@ -441,7 +437,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
for entry in newentries:
|
||||
book = self.db.getMedia(entry)
|
||||
self.loanMedia(user_id, [entry], book)
|
||||
dbg("inserted duplicated book into database")
|
||||
log.info("inserted duplicated book into database")
|
||||
return
|
||||
else:
|
||||
#print("Book not loaned, loaning now")
|
||||
@@ -506,7 +502,7 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.setStatusTipMessage("Buch nicht entliehen")
|
||||
self.input_file_ident.clear()
|
||||
else:
|
||||
dbg("Book not found")
|
||||
log.error("Book not found, identifier", identifier)
|
||||
#print("Book not found")
|
||||
#self.input_file_ident.setPlaceholderText(f"Buch {identifier} nicht gefunden")
|
||||
|
||||
@@ -520,13 +516,13 @@ class MainUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
dialog.setText(message)
|
||||
dialog.exec()
|
||||
def exit_handler():
|
||||
dbg("Exiting, creating backup")
|
||||
log.info("Exiting, creating backup")
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
#print(backup.backup)
|
||||
# generate report if monday
|
||||
if datetime.datetime.now().weekday() == config.report.report_day:
|
||||
generate_report()
|
||||
dbg("Generated Report")
|
||||
log.info("Generated Report")
|
||||
Database().renameInactiveUsers()
|
||||
if config.database.do_backup:
|
||||
state = backup.createBackup()
|
||||
@@ -541,7 +537,7 @@ def exit_handler():
|
||||
dialog.setText("Backup konnte nicht erstellt werden")
|
||||
|
||||
dialog.exec()
|
||||
dbg("Exiting", backupstate=state)
|
||||
log.info("Exiting, backup:", state)
|
||||
else:
|
||||
dialog = QtWidgets.QMessageBox()
|
||||
# set icon
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
from .sources.Ui_dialog_settings import Ui_Dialog
|
||||
from PyQt6 import QtWidgets, QtCore
|
||||
from src import config, log
|
||||
from src.utils import Icon
|
||||
from src import config
|
||||
from src.utils import debugMessage as dbg
|
||||
from omegaconf import OmegaConf
|
||||
import os
|
||||
|
||||
@@ -192,7 +191,7 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
if changed == original:
|
||||
self.settingschanged = False
|
||||
self.restart_required = False
|
||||
dbg("Settings not changed")
|
||||
log.info("Settings not changed")
|
||||
else:
|
||||
self.settingschanged = True
|
||||
#compare if database or shortcuts were changed
|
||||
@@ -200,7 +199,11 @@ class Settings(QtWidgets.QDialog, Ui_Dialog):
|
||||
shortcuts = self.shortcuts == self.sortShortcuts(changed.shortcuts)
|
||||
if not database or not shortcuts:
|
||||
self.restart_required = True
|
||||
dbg(f"Settings changed, restart required: {self.restart_required}",database=database,shortcuts=shortcuts)
|
||||
log.info(
|
||||
f"Settings changed, restart required: {self.restart_required}",
|
||||
database=database,
|
||||
shortcuts=shortcuts,
|
||||
)
|
||||
|
||||
# save the new settings
|
||||
if self.settingschanged:
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
from .sources.Ui_main_userData import Ui_MainWindow
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
from src import log
|
||||
from src.logic import Database
|
||||
from src.schemas import User
|
||||
from .extendLoan import ExtendLoan
|
||||
from src.utils import stringToDate, Icon
|
||||
from src.utils import debugMessage as dbg
|
||||
|
||||
TABLETOFIELDTRANSLATE = {
|
||||
"Titel": "title",
|
||||
@@ -95,7 +95,6 @@ class UserUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
limiter = self.searchbox.text().lower()
|
||||
searchfield = self.searchfilter.currentText()
|
||||
searchfield = TABLETOFIELDTRANSLATE[searchfield]
|
||||
# dbg(limiter=limiter, search=searchfield)
|
||||
|
||||
self.UserMediaTable.setRowCount(0)
|
||||
for loan in self.userMedia:
|
||||
@@ -166,7 +165,7 @@ class UserUI(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
continue
|
||||
elif mode == "overdue":
|
||||
# book not returned and todays date is greater than todate
|
||||
dbg(book=book)
|
||||
log.debug("Book: {}".format(book))
|
||||
if book.returned_date is not None:
|
||||
continue
|
||||
# if todate is greater than current date, continue
|
||||
|
||||
Reference in New Issue
Block a user