· 4 years ago · Mar 28, 2021, 05:08 PM
1@app.route('/getquests')
2@login_required
3def get_quests():
4 con = sqlite3.connect("UsersDB.db")
5 cur = con.cursor()
6 result = cur.executescript('DROP TABLE IF EXISTS UserWalkthrough; \
7 DROP TABLE IF EXISTS QuestPartWalkthrough; \
8 DROP TABLE IF EXISTS QuestWalkthrough; \
9 CREATE TEMP TABLE IF NOT EXISTS UserWalkthrough AS \
10 SELECT \
11 Walkthrough.questpart_id, 1 AS status FROM Walkthrough WHERE Walkthrough.user_id = 1; \
12 CREATE TEMP TABLE IF NOT EXISTS QuestPartWalkthrough AS \
13 SELECT \
14 Quest_parts.id, \
15 Quest_parts.name, \
16 Quest_parts.text, \
17 Quest_parts.quest_id, \
18 IFNULL(status, 0) AS status \
19 FROM Quest_parts LEFT JOIN UserWalkthrough ON (Quest_parts.id = UserWalkthrough.questpart_id); \
20 CREATE TEMP TABLE IF NOT EXISTS QuestWalkthrough AS \
21 SELECT \
22 QuestPartWalkthrough.quest_id, \
23 MIN(QuestPartWalkthrough.status) AS status \
24 FROM \
25 QuestPartWalkthrough \
26 GROUP BY QuestPartWalkthrough.quest_id; \
27 SELECT \
28 Quests.id AS quest_id, \
29 Quests.name AS quest_name, \
30 Quests.description AS quest_description, \
31 QuestWalkthrough.status AS quest_status, \
32 QuestPartWalkthrough.id AS questPart_id, \
33 QuestPartWalkthrough.name AS questPart_name, \
34 QuestPartWalkthrough.text AS questPart_text, \
35 QuestPartWalkthrough.status AS questPart_status \
36 FROM \
37 Quests INNER JOIN QuestWalkthrough ON (Quests.id = QuestWalkthrough.quest_id) \
38 INNER JOIN QuestPartWalkthrough ON (Quests.id = QuestPartWalkthrough.quest_id) \
39 ORDER BY \
40 Quests.id, \
41 QuestPartWalkthrough.id')
42 finish = result.fetchall()
43 print ("test")
44 print (finish)
45 return ("Testing quests")