-
Notifications
You must be signed in to change notification settings - Fork 0
/
api.py
121 lines (86 loc) · 3.13 KB
/
api.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
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
from flask import Flask,render_template,request,session,redirect,url_for
from model import check_user,add_user_to_db,check_product,add_product_to_db,get_products,remove_product,add_to_cart,get_cart,remove_from_cart
app = Flask(__name__)
app.secret_key = 'hello'
@app.route('/')
def home():
return render_template('home.html',title='home')
@app.route('/about')
def about():
return render_template('about.html',title='about')
@app.route('/contact')
def contact():
return render_template('contact.html',title='contact')
@app.route('/signup',methods=['GET','POST'])
def signup():
if request.method == 'POST':
user_info = {}
user_info['username'] = request.form['username']
user_info['full_name'] = request.form['full_name']
user_info['password'] = request.form['password1']
rpassword = request.form['password2']
user_info['email'] = request.form['email']
user_info['c_type'] = request.form['c_type']
if user_info['password']!=rpassword:
return "Passwords don't match.Go back and re-enter"
if bool(check_user(user_info['username'])) is True:
return "User already exists. Try logging in!"
if user_info['c_type'] == 'buyer':
user_info['cart'] = []
add_user_to_db(user_info)
session['username'] = user_info['username']
session['c_type'] = user_info['c_type']
return redirect(url_for('home'))
return redirect(url_for('home'))
@app.route('/login',methods=['GET','POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
if bool(check_user(username)) and (check_user(username)['password'] == password):
session['username'] = username
session['c_type'] = check_user(username)['c_type']
return redirect(url_for('home'))
return "Username or password incorrect.Try again"
return redirect(url_for('home'))
@app.route('/products',methods=['GET','POST'])
def products():
if request.method == 'POST':
product_info = {}
product_info['name'] = request.form['name']
product_info['info'] = request.form['info']
product_info['price'] = int(request.form['price'])
product_info['seller'] = session['username']
if bool(check_product(product_info['name'])) is True:
return "Product already exists!"
add_product_to_db(product_info)
return redirect(url_for('home'))
products = get_products()
return render_template('products.html',products=products)
@app.route('/remove',methods=['GET','POST'])
def remove():
if request.method == 'POST':
name = request.form['name']
remove_product(name)
return redirect(url_for('products'))
return redirect(url_for('products'))
@app.route('/cart',methods=['GET','POST'])
def cart():
if request.method == 'POST':
name = request.form['name']
add_to_cart(name)
return redirect(url_for('cart'))
cart,total = get_cart()
return render_template('cart.html',cart=cart,total=total)
@app.route('/remove_cart',methods=['GET','POST'])
def remove_cart():
if request.method == 'POST':
name = request.form['name']
remove_from_cart(name)
return redirect(url_for('cart'))
return redirect(url_for('cart'))
@app.route('/logout')
def logout():
session.clear()
return redirect(url_for('home'))
app.run(debug=True)