summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--add_participant.py57
-rw-r--r--create_meeting.py43
-rw-r--r--init_sqlite.py17
-rw-r--r--view_meeting.py28
4 files changed, 145 insertions, 0 deletions
diff --git a/add_participant.py b/add_participant.py
new file mode 100644
index 0000000..da79fab
--- /dev/null
+++ b/add_participant.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python3
+
+import os
+import sqlite3
+
+db_path = "terminfinder_db.sqlite"
+
+if not os.path.exists(db_path):
+ print(f"DB named {db_path} does not exist!")
+ exit(1)
+
+con = sqlite3.connect(db_path)
+cur = con.cursor()
+
+meeting_id = "meet1"
+part_name = "niklas"
+data = [
+ ("2026-01-01_12-00", True),
+ ("2026-01-01_13-00", False),
+ ("2026-01-02_14-00", True),
+]
+
+
+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()
+
+
+add_participant(meeting_id, part_name, data)
diff --git a/create_meeting.py b/create_meeting.py
new file mode 100644
index 0000000..489067d
--- /dev/null
+++ b/create_meeting.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python3
+
+import os
+import sqlite3
+
+db_path = "terminfinder_db.sqlite"
+
+if not os.path.exists(db_path):
+ print(f"DB named {db_path} does not exist!")
+ exit(1)
+
+con = sqlite3.connect(db_path)
+cur = con.cursor()
+
+meeting_id = "meet1"
+meeting_name = "My first meeting"
+meeting_description = "This is a test meeting description"
+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 (?, ?, ?, ?);",
+ (
+ meeting_id,
+ meeting_name,
+ meeting_description,
+ meeting_dates,
+ ),
+ )
+ cur.execute(
+ f"CREATE TABLE meeting_dates_{meeting_id}(date, confirming, declining, meeting_id, PRIMARY KEY (date) FOREIGN KEY (meeting_id) REFERENCES meeting(meeting_id))"
+ )
+
+ for date in meeting_dates.split(","):
+ cur.execute(
+ f"INSERT INTO meeting_dates_{meeting_id} (date, confirming, declining, meeting_id) VALUES (?, ?, ?, ?);",
+ (date, "", "", meeting_id),
+ )
+ con.commit()
+
+
+create_meeting(meeting_id, meeting_name, meeting_description, meeting_dates)
diff --git a/init_sqlite.py b/init_sqlite.py
new file mode 100644
index 0000000..acc6153
--- /dev/null
+++ b/init_sqlite.py
@@ -0,0 +1,17 @@
+#!/usr/bin/env python3
+
+import os
+import sqlite3
+
+db_path = "terminfinder_db.sqlite"
+
+if os.path.exists(db_path):
+ print(f"DB named {db_path} already exists")
+ exit(1)
+
+con = sqlite3.connect(db_path)
+cur = con.cursor()
+
+cur.execute(
+ "CREATE TABLE meeting(meeting_id, title, description, possible_dates, participants, PRIMARY KEY (meeting_id))"
+)
diff --git a/view_meeting.py b/view_meeting.py
new file mode 100644
index 0000000..00f6ae4
--- /dev/null
+++ b/view_meeting.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python3
+
+
+import os
+import sqlite3
+
+db_path = "terminfinder_db.sqlite"
+
+if not os.path.exists(db_path):
+ print(f"DB named {db_path} does not exist!")
+ exit(1)
+
+con = sqlite3.connect(db_path)
+cur = con.cursor()
+
+meeting_id = "meet1"
+
+
+def extract_meeting(meeting_id):
+ select = cur.execute(f"SELECT * FROM meeting WHERE meeting_id = ?;", (meeting_id,))
+ result = select.fetchall()
+ print(result)
+ select = cur.execute(f"SELECT * FROM meeting_dates_{meeting_id};")
+ result = select.fetchall()
+ print(result)
+
+
+extract_meeting(meeting_id)