add elsa prof functions for seperate profs

This commit is contained in:
WorldTeacher
2024-10-10 14:38:25 +02:00
parent 7e2adc5416
commit ff8e6a1e58

View File

@@ -1489,6 +1489,35 @@ class Database:
conn.commit()
conn.close()
return self.getProfId(profdata)
def getElsaProfId(self, profname):
query = f"SELECT id FROM elsa_prof WHERE fullname = '{profname}'"
data = self.query_db(query)
if data:
return data[0][0]
else: return None
def createElsaProf(self, profname)-> int:
pId = self.getElsaProfId(profname)
if pId:
return pId
query = f"INSERT INTO elsa_prof (fullname) VALUES ('{profname}')"
self.query_db(query)
return self.getElsaProfId(profname)
def getElsaProf(self, prof_id)->str:
query = f"SELECT fullname FROM elsa_prof WHERE id = '{prof_id}'"
data = self.query_db(query)
if data:
return data[0][0]
else: return None
def getElsaProfs(self)->list[str]:
query = f"SELECT fullname FROM elsa_prof"
data = self.query_db(query)
if data:
return [i[0] for i in data]
else: return []
def getProfId(self, profdata: dict|Prof):
conn = self.connect()
@@ -1496,9 +1525,13 @@ class Database:
if isinstance(profdata, Prof):
fullname = profdata.fullname
else:
fname = profdata["profname"].split(", ")[1].strip()
lname = profdata["profname"].split(", ")[0].strip()
fullname = f"{lname} {fname}"
name = profdata["profname"]
if ","in name:
fname = name.split(", ")[1].strip()
lname = name.split(", ")[0].strip()
fullname = f"{lname} {fname}"
else:
fullname = profdata["profname"]
query = f"SELECT id FROM prof WHERE fullname = '{fullname}'"
self.logger.log_info(query)