From dec672b22381b5f9fd3d51f8233cc69f12964fd2 Mon Sep 17 00:00:00 2001 From: Niclas Dobbertin Date: Thu, 9 Jul 2026 23:31:45 +0200 Subject: add tracking participants and prevent duplicates --- add_participant.py | 89 +++++++++++++++++++++++++++++++++--------------------- create_meeting.py | 3 +- view_meeting.py | 15 +++++++-- 3 files changed, 69 insertions(+), 38 deletions(-) diff --git a/add_participant.py b/add_participant.py index da79fab..948b4c6 100644 --- a/add_participant.py +++ b/add_participant.py @@ -12,6 +12,53 @@ if not os.path.exists(db_path): con = sqlite3.connect(db_path) cur = con.cursor() + + +def add_participant(meeting_id, part_name, data): + select = cur.execute( + "SELECT participants FROM meeting WHERE meeting_id = ?;", (meeting_id,) + ) + participants = select.fetchone()[0] + print(participants) + if part_name in participants.split(","): + print("Participant name already taken!") + else: + cur.execute( + "UPDATE meeting SET participants = ? WHERE meeting_id = ?;", + (participants + "," + part_name, meeting_id), + ) + for datum in data: + if datum[1]: + select = cur.execute( + f"SELECT confirming FROM meeting_dates_{meeting_id} WHERE date = ?;", + (datum[0],), + ) + result = select.fetchone() + new_confirming = result[0] + "," + part_name + cur.execute( + f"UPDATE meeting_dates_{meeting_id} SET confirming = ? WHERE date = ?;", + ( + new_confirming, + datum[0], + ), + ) + else: + select = cur.execute( + f"SELECT declining FROM meeting_dates_{meeting_id} WHERE date = ?;", + (datum[0],), + ) + result = select.fetchone() + new_declining = result[0] + "," + part_name + cur.execute( + f"UPDATE meeting_dates_{meeting_id} SET declining = ? WHERE date = ?;", + ( + new_declining, + datum[0], + ), + ) + con.commit() + + meeting_id = "meet1" part_name = "niklas" data = [ @@ -19,39 +66,13 @@ data = [ ("2026-01-01_13-00", False), ("2026-01-02_14-00", True), ] +add_participant(meeting_id, part_name, data) - -def add_participant(meeting_id, part_name, data): - for datum in data: - if datum[1]: - select = cur.execute( - f"SELECT confirming FROM meeting_dates_{meeting_id} WHERE date = ?;", - (datum[0],), - ) - result = select.fetchone() - new_confirming = result[0] + "," + part_name - cur.execute( - f"UPDATE meeting_dates_{meeting_id} SET confirming = ? WHERE date = ?;", - ( - new_confirming, - datum[0], - ), - ) - else: - select = cur.execute( - f"SELECT declining FROM meeting_dates_{meeting_id} WHERE date = ?;", - (datum[0],), - ) - result = select.fetchone() - new_declining = result[0] + "," + part_name - cur.execute( - f"UPDATE meeting_dates_{meeting_id} SET declining = ? WHERE date = ?;", - ( - new_declining, - datum[0], - ), - ) - con.commit() - - +meeting_id = "meet1" +part_name = "philip" +data = [ + ("2026-01-01_12-00", False), + ("2026-01-01_13-00", True), + ("2026-01-02_14-00", True), +] add_participant(meeting_id, part_name, data) diff --git a/create_meeting.py b/create_meeting.py index 489067d..eab95a0 100644 --- a/create_meeting.py +++ b/create_meeting.py @@ -20,12 +20,13 @@ meeting_dates = "2026-01-01_12-00,2026-01-01_13-00,2026-01-02_14-00" def create_meeting(meeting_id, meeting_name, meeting_description, meeting_dates): cur.execute( - "INSERT INTO meeting (meeting_id, title, description, possible_dates) VALUES (?, ?, ?, ?);", + "INSERT INTO meeting (meeting_id, title, description, possible_dates, participants) VALUES (?, ?, ?, ?, ?);", ( meeting_id, meeting_name, meeting_description, meeting_dates, + "", ), ) cur.execute( diff --git a/view_meeting.py b/view_meeting.py index 00f6ae4..5ec8dd0 100644 --- a/view_meeting.py +++ b/view_meeting.py @@ -17,12 +17,21 @@ meeting_id = "meet1" def extract_meeting(meeting_id): + # Data from meeting table select = cur.execute(f"SELECT * FROM meeting WHERE meeting_id = ?;", (meeting_id,)) - result = select.fetchall() - print(result) + result = select.fetchone() + meeting_data = {"meeting_id": meeting_id, "title": result[1], + "description": result[2], + "dates": result[3].split(",") if not result[3] is None else "", + "participants": result[4].split(",") if not result[4] is None else ""} + + # Individual dates data select = cur.execute(f"SELECT * FROM meeting_dates_{meeting_id};") result = select.fetchall() print(result) + return meeting_data + -extract_meeting(meeting_id) +meeting_data = extract_meeting(meeting_id) +print(meeting_data) -- cgit v1.2.3