fix broken files after faulty update

This commit is contained in:
2025-01-14 08:51:58 +01:00
parent 598da9bfac
commit 997d618ff1
102 changed files with 2499 additions and 548 deletions

View File

@@ -1,24 +1,21 @@
import datetime
from src.logic.log import logger
from src import logger
from dataclasses import dataclass
@dataclass
class Semester:
logger.debug("Semester class loaded")
_year: int | None = datetime.datetime.now().year
_year: int | None = str(datetime.datetime.now().year)[2:]
_semester: str | None = None
_month: int | None = datetime.datetime.now().month
value: str = None
logger.debug(f"Got values year:{_year}, semester:{_semester}, month:{_month}")
def __post_init__(self):
logger.debug(
f"Got values post_init year:{self._year}, semester:{self._semester}, month:{self._month}"
)
if isinstance(self._year, str):
self._year = int(self._year)
if self._year is None:
self._year = datetime.datetime.now().year
self._year = datetime.datetime.now().year[2:]
if self._month is None:
self._month = datetime.datetime.now().month
if self._semester is None:
@@ -37,11 +34,7 @@ class Semester:
@logger.catch
def computeValue(self):
# year is only last two digits
year = str(self._year)[2:]
year = int(year)
logger.debug(
f"Year is {year}, month is {self._month}, semester is {self._semester}"
)
year = self._year
if self._semester == "WiSe":
if self._month < 4:
valueyear = str(year - 1) + "/" + str(year)
@@ -60,29 +53,75 @@ class Semester:
str: the new semester value
"""
assert isinstance(value, int), "Value must be an integer"
logger.debug(f"Offsetting semester by {value}")
if value == 0:
return self
if value > 0:
if value % 2 == 0:
return Semester(self._year + value // 2, self._semester)
return Semester(
self._year - value // 2, self._semester - value // 2 + 1
)
else:
semester = self._semester
semester = "SoSe" if semester == "WiSe" else "WiSe"
logger.debug(f"Semester is {semester}")
return Semester(self._year + value // 2, semester)
else:
if value % 2 == 0:
return Semester(self._year - value // 2, self._semester)
return Semester(self.year + value // 2, self._semester)
else:
semester = self._semester
semester = "SoSe" if semester == "WiSe" else "WiSe"
return Semester(self._year + value // 2, semester)
def isPastSemester(self, semester) -> bool:
"""Checks if the current Semester is a past Semester compared to the given Semester
Args:
semester (str): The semester to compare to
Returns:
bool: True if the current semester is in the past, False otherwise
"""
if self.year < semester.year:
return True
if self.year == semester.year:
if self.semester == "WiSe" and semester.semester == "SoSe":
return True
return False
def isFutureSemester(self, semester: "Semester") -> bool:
"""Checks if the current Semester is a future Semester compared to the given Semester
Args:
semester (str): The semester to compare to
Returns:
bool: True if the current semester is in the future, False otherwise
"""
if self.year > semester.year:
return True
if self.year == semester.year:
if self.semester == "SoSe" and semester.semester == "WiSe":
return True
return False
def from_string(self, val):
self.value = val
self._year = int(val[-2:])
self._semester = val[:4]
return self
@property
def next(self):
return self.offset(1)
@property
def previous(self):
return self.offset(-1)
return self.offset(-1)
@property
def year(self):
return self._year
@property
def semester(self):
return self._semester