summaryrefslogtreecommitdiff
path: root/add_participant.py
blob: 7431b3b9fe0c4e789afdc2a563ad7658f532a2e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/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()


def add_participant(meeting_id, part_name, data):
    select = cur.execute(
        "SELECT participants FROM meeting WHERE meeting_id = ?;", (meeting_id,)
    )
    participants = select.fetchone()[0]
    if participants is not None and part_name in participants.split(","):
        print("Participant name already taken!")
    else:
        cur.execute(
            "UPDATE meeting SET participants = ? WHERE meeting_id = ?;",
            (
                (
                    participants + "," + part_name
                    if participants is not None
                    else 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 if result[0] is not None else 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 if result[0] is not None else 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 = [
    ("2026-01-01_12-00", True),
    ("2026-01-01_13-00", False),
    ("2026-01-02_14-00", True),
]
add_participant(meeting_id, part_name, data)

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)