From ff8e6a1e58305e01db323634d0b754c17445d416 Mon Sep 17 00:00:00 2001 From: WorldTeacher <41587052+WorldTeacher@users.noreply.github.com> Date: Thu, 10 Oct 2024 14:38:25 +0200 Subject: [PATCH] add elsa prof functions for seperate profs --- src/backend/database.py | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/src/backend/database.py b/src/backend/database.py index 65adab8..3f000b9 100644 --- a/src/backend/database.py +++ b/src/backend/database.py @@ -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)