add files

This commit is contained in:
WorldTeacher
2024-01-26 08:28:01 +01:00
parent dd9ee24a8f
commit 0a9818940c
110 changed files with 21563 additions and 0 deletions

76
src/logic/dataclass.py Normal file
View File

@@ -0,0 +1,76 @@
import re
from dataclasses import dataclass, field
@dataclass
class ApparatData:
prof_title: str | None = None
profname: str | None = None
dauerapp: bool = False
appnr: int | None = None
appname: str | None = None
app_fach: str | None = None
semester: str | None = None
erstellsemester: str | None = None
prof_mail: str | None = None
prof_tel: int | None = None
deleted: int = 0
prof_adis_id: int | None = None
apparat_adis_id: int | None = None
def get_prof_details(self) -> dict:
return {
"prof_title": self.prof_title,
"profname": self.profname,
"prof_mail": self.prof_mail,
"prof_tel": self.prof_tel,
"fullname": self.profname,
}
@dataclass
class BookData:
ppn: str | None = None
title: str | None = None
signature: str | None = None
edition: str | None = None
link: str | None = None
isbn: str | list | None = field(default_factory=list)
author: str | None = None
language: str | list | None = field(default_factory=list)
publisher: str | None = None
year: str | None = None
pages: str | None = None
# avaliability: dict | None = field(default_factory=dict)
# def assign(self, field,value):
# self.__setattr__(field,value)
def from_dict(self, data: dict):
for key, value in data.items():
setattr(self, key, value)
def to_dict(self):
return self.__dict__
def from_dataclass(self, dataclass):
for key, value in dataclass.__dict__.items():
setattr(self, key, value)
def from_string(self, data: str):
if not data.startswith("BookData"):
raise ValueError("No valid BookData string")
else:
pattern = r"(\w+)='([^']*)'"
data_dict = dict(re.findall(pattern, data))
print(data_dict)
for key, value in data_dict.items():
setattr(self, key, value)
return self
@dataclass
class MailData:
subject: str | None = None
body: str | None = None
mailto: str | None = None
prof: str | None = None