-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
122 lines (96 loc) · 3.11 KB
/
Copy pathapp.py
File metadata and controls
122 lines (96 loc) · 3.11 KB
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# myPlanner Flask app
import os
import sqlite3
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
if not os.path.exists("database"):
os.makedirs("database")
db_path = "database/myPlanner.db"
def init_db():
conn = sqlite3.connect(db_path)
c = conn.cursor()
c.execute('''
CREATE TABLE IF NOT EXISTS assignments (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
due_date TEXT
)
''')
c.execute('''
CREATE TABLE IF NOT EXISTS events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
date TEXT
)
''')
conn.commit()
conn.close()
@app.route("/")
def dashboard():
conn = sqlite3.connect(db_path)
c = conn.cursor()
c.execute("SELECT id, name, due_date FROM assignments")
assignments = c.fetchall()
c.execute("SELECT id, name, date FROM events")
events = c.fetchall()
conn.close()
return render_template("dashboard.html", assignments=assignments, events=events)
@app.route("/add-assignment", methods=["POST"])
def add_assignment():
name = request.form["name"]
due_date = request.form["due_date"]
conn = sqlite3.connect(db_path)
c = conn.cursor()
c.execute("INSERT INTO assignments (name, due_date) VALUES (?, ?)", (name, due_date))
conn.commit()
conn.close()
return redirect(url_for("dashboard"))
@app.route("/add-event", methods=["POST"])
def add_event():
name = request.form["name"]
date = request.form["date"]
conn = sqlite3.connect(db_path)
c = conn.cursor()
c.execute("INSERT INTO events (name, date) VALUES (?, ?)", (name, date))
conn.commit()
conn.close()
return redirect(url_for("dashboard"))
@app.route("/delete-assignments/<int:id>", methods=["POST"])
def delete_assignment(id):
conn = sqlite3.connect(db_path)
c = conn.cursor()
c.execute("DELETE FROM assignments WHERE id = ?", (id,))
conn.commit()
conn.close()
return redirect(url_for("dashboard"))
@app.route("/delete-events/<int:id>", methods=["POST"])
def delete_event(id):
conn = sqlite3.connect(db_path)
c = conn.cursor()
c.execute("DELETE FROM events WHERE id = ?", (id,))
conn.commit()
conn.close()
return redirect(url_for("dashboard"))
@app.route("/update-assignments/<int:id>", methods=["POST"])
def update_assignment(id):
name = request.form["name"]
due_date = request.form["due_date"]
conn = sqlite3.connect(db_path)
c = conn.cursor()
c.execute("UPDATE assignments SET name = ?, due_date = ? WHERE id = ?", (name, due_date, id))
conn.commit()
conn.close()
return redirect(url_for("dashboard"))
@app.route("/update-events/<int:id>", methods=["POST"])
def update_event(id):
name = request.form["name"]
date = request.form["date"]
conn = sqlite3.connect(db_path)
c = conn.cursor()
c.execute("UPDATE events SET name = ?, date = ? WHERE id = ?", (name, date, id))
conn.commit()
conn.close()
return redirect(url_for("dashboard"))
if __name__ == "__main__":
init_db()
app.run(debug=True)