Refactor code structure for improved readability and maintainability

This commit is contained in:
2025-12-10 13:47:34 +01:00
parent 67f967aa09
commit bcb96213ee
73 changed files with 4307 additions and 1315 deletions

View File

@@ -28,7 +28,7 @@ from src.errors import AppPresentError, NoResultError
from src.core.models import ELSA, Apparat, ApparatData, BookData, Prof
from src.core.constants import SEMAP_MEDIA_ACCOUNTS
from src.core.semester import Semester
from src.shared.logging import log
from src.shared.logging import log, get_bloat_logger, preview
from src.utils.blob import create_blob
ascii_lowercase = lower + digits + punctuation
@@ -732,7 +732,12 @@ class Database:
str: The filename of the recreated file
"""
blob = self.getBlob(filename, app_id)
log.debug(blob)
bloat = get_bloat_logger()
try:
bloat.debug("Recreated file blob size: {} bytes", len(blob))
bloat.debug("Recreated file blob (preview): {}", preview(blob, 2000))
except Exception:
bloat.debug("Recreated file blob (preview): {}", preview(blob, 2000))
tempdir = settings.database.temp.expanduser()
if not tempdir.exists():
tempdir.mkdir(parents=True, exist_ok=True)
@@ -1145,22 +1150,23 @@ class Database:
Returns:
Optional[int]: the id of the apparat
"""
log.debug(apparat)
bloat = get_bloat_logger()
bloat.debug("Apparat (preview): {}", preview(apparat, 500))
app = apparat.apparat
prof = apparat.prof
present_prof = self.getProfByName(prof.name())
prof_id = present_prof.id
log.debug(present_prof)
bloat.debug("Present prof: {}", preview(present_prof, 300))
app_id = self.getApparatId(app.name)
if app_id:
return AppPresentError(app_id)
if not prof_id:
log.debug("prof id not present, creating prof with data", prof)
bloat.debug("prof id not present, creating prof with data: {}", preview(prof, 300))
prof_id = self.createProf(prof)
log.debug(prof_id)
log.debug("prof_id: {}", preview(prof_id, 50))
query = f"INSERT OR IGNORE INTO semesterapparat (appnr, name, erstellsemester, dauer, prof_id, fach,deletion_status,konto) VALUES ('{app.appnr}', '{app.name}', '{app.created_semester}', '{app.eternal}', {prof_id}, '{app.subject}', '{0}', '{SEMAP_MEDIA_ACCOUNTS[app.appnr]}')"
log.debug(query)
log.debug("Apparat insert query: {}", preview(query, 500))
self.query_db(query)
return None
@@ -1178,7 +1184,7 @@ class Database:
)
ret = []
for i in data:
log.debug(i)
log.debug("Apparat row: {}", preview(i, 200))
ret.append(Apparat().from_tuple(i))
return ret
@@ -1318,7 +1324,7 @@ class Database:
apparat_data.apparat.apparat_id_adis,
apparat_data.apparat.appnr,
)
log.debug(f"Updating apparat with query {query} and params {params}")
log.debug("Updating apparat: query: {} params: {}", preview(query, 200), preview(params, 300))
self.query_db(query, params)
def checkApparatExists(self, app_name: str):
@@ -1792,7 +1798,8 @@ class Database:
###
def createProf(self, profdata: Prof):
log.debug(profdata)
bloat = get_bloat_logger()
bloat.debug("Creating profdata: {}", preview(profdata, 500))
conn = self.connect()
cursor = conn.cursor()
fname = profdata.firstname
@@ -1803,7 +1810,7 @@ class Database:
title = profdata.title
query = "INSERT INTO prof (fname, lname, fullname, mail, telnr, titel) VALUES (?,?,?,?,?,?)"
log.debug(query)
log.debug("DB query: {}", preview(query, 200))
cursor.execute(query, (fname, lname, fullname, mail, telnr, title))
conn.commit()
@@ -1848,7 +1855,7 @@ class Database:
else:
fullname = profdata.name()
query = "SELECT id FROM prof WHERE fullname = ?"
log.debug(query)
log.debug("DB query: {}", preview(query, 200))
cursor.execute(query, (fullname,))
result = cursor.fetchone()
@@ -1866,7 +1873,7 @@ class Database:
conn = self.connect()
cursor = conn.cursor()
query = "SELECT * FROM prof WHERE fullname = ?"
log.debug(query)
log.debug("DB query: {}", preview(query, 200))
result = cursor.execute(query, (fullname,)).fetchone()
if result: