-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
67 lines (51 loc) · 2.1 KB
/
app.py
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
# A very simple Flask Hello World app for you to get started with...
from flask import Flask, render_template, flash, request, redirect, url_for, session, jsonify
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.exc import IntegrityError
app = Flask(__name__)
# SQL Handling -----------------------------------------------------------------------------------------------------------------------
SQLALCHEMY_DATABASE_URI = "mysql+mysqlconnector://{username}:{password}@{hostname}/{databasename}".format(
username="rosalinep",
password="TBB5Hggi65DuYW3",
hostname="rosalinep.mysql.pythonanywhere-services.com",
databasename="rosalinep$DBD",
)
app.config["SQLALCHEMY_DATABASE_URI"] = SQLALCHEMY_DATABASE_URI
app.config["SQLALCHEMY_POOL_RECYCLE"] = 299
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy(app)
class Categories(db.Model):
__tablename__ = "category"
name = db.Column(db.String(50), primary_key=True)
color = db.Column(db.String(50))
userID = db.Column(db.String(4096))
checked = db.Column(db.Boolean, default=False)
def __init__(self, name, color, userID, checked):
self.name = name
self.color = color
self.userID = userID
self.checked = checked
# -------------------------------------------------------------------------------------------------------------------------------------
@app.route('/')
def initialPage():
userID = "user1" #login todo
allCats = getCats(userID)
return render_template('base.html', allCats=allCats)
def getCats(userID):
return Categories.query.all()
@app.route('/addCat/', methods = ['POST'])
def addCat():
#todo-login
name = request.form['catName']
color = request.form['catColor']
if (not name) or (not color):
return jsonify({"error":"Empty inputs!"})
try:
cat = Categories(name, color, "user1", False)
db.session.add(cat)
db.session.commit()
except IntegrityError:
db.session.rollback()
return jsonify({"error": "Duplicate category!"})
data = {"catName": name, "catColor": color}
return jsonify(data)