From 99bc36df1b1d5c695ef679ba451c4c54f2fd9262 Mon Sep 17 00:00:00 2001
From: fmk17 <fmk17@inf.ufpr.br>
Date: Wed, 9 Feb 2022 20:14:03 -0300
Subject: [PATCH] Don't insert duplicate schedule

---
 database.py | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/database.py b/database.py
index 20872c5..c612137 100644
--- a/database.py
+++ b/database.py
@@ -36,19 +36,32 @@ def get_schedules_for_user(user_id):
     ) for row in rows]
 
 def insert_schedule(schedule):
-    connection.execute('''
-    INSERT INTO schedule
-    (time, day_week, location, meal, user_id, created_at)
-    VALUES
-    (?, ?, ?, ?, ?, ?)
+    cur = connection.execute('''
+    SELECT created_at
+    FROM schedule
+    WHERE time = ? and day_week = ? and location = ? and meal = ? and user_id = ?
     ''', (
         schedule.time,
         schedule.day_week,
         schedule.location.name,
         schedule.meal.name,
-        schedule.user_id,
-        schedule.created_at
+        schedule.user_id
     ))
+    row = cur.fetchone()
+    if not row:
+        connection.execute('''
+        INSERT INTO schedule
+        (time, day_week, location, meal, user_id, created_at)
+        VALUES
+        (?, ?, ?, ?, ?, ?)
+        ''', (
+            schedule.time,
+            schedule.day_week,
+            schedule.location.name,
+            schedule.meal.name,
+            schedule.user_id,
+            schedule.created_at
+        ))
 
 def get_schedules_matching_time(time):
     cur = connection.execute('''
-- 
GitLab