-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserver.py
89 lines (69 loc) · 2.57 KB
/
server.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
import os
from flask import Flask, render_template, request, redirect, session, flash
from mysqlconnection import MySQLConnector
import stripe
stripe_keys = {
'secret_key': os.environ['SECRET_KEY'],
'publishable_key': os.environ['PUBLISHABLE_KEY']
}
stripe.api_key = stripe_keys['secret_key']
app = Flask(__name__)
app.secret_key =" "
mysql = MySQLConnector('restfulroutespython')
# @app.route("/")
# def index():
# users = mysql.fetch("SELECT id, first_name, last_name, email, created_at FROM users")
# return render_template("index.html", users=users)
@app.route("/edit/<id>")
def edit(id):
query = "SELECT id, first_name, last_name, email, created_at FROM users WHERE id = '{}'".format(id)
info = mysql.fetch(query)
return render_template("edit.html", users=info)
@app.route("/update/<id>", methods=['POST'])
def update(id):
mysql.run_mysql_query("UPDATE users SET first_name='{}', last_name = '{}', email = '{}' WHERE id = '{}'".format(request.form['first_name'], request.form['last_name'], request.form['email'], id))
return redirect("/")
@app.route('/add')
def add():
return render_template("new.html")
@app.route('/payment')
def payment():
return render_template("payment.html", key=stripe_keys['publishable_key'])
@app.route("/create", methods=['POST'])
def create():
first_name = request.form['first_name']
last_name = request.form['last_name']
email = request.form['email']
comment = request.form['comment']
query = "INSERT INTO users (first_name, last_name, email, comment, created_at, updated_at) VALUES ('{}', '{}', '{}', '{}', NOW(), NOW())".format(first_name, last_name, email, comment)
mysql.run_mysql_query(query)
return redirect('/')
@app.route("/show/<id>")
def show(id):
query = "SELECT id, first_name, last_name, email, created_at FROM users WHERE id = '{}'".format(id)
info = mysql.fetch(query)
return render_template("show.html", users=info)
@app.route("/destroy/<id>")
def destroy(id):
mysql.run_mysql_query(("DELETE FROM users WHERE id = '{}'").format(id))
return redirect('/')
@app.route('/')
def index():
return render_template('index.html', key=stripe_keys['publishable_key'])
@app.route('/charge', methods=['POST'])
def charge():
# Amount in cents
amount = 4999
customer = stripe.Customer.create(
email='customer@example.com',
source=request.form['stripeToken']
)
charge = stripe.Charge.create(
customer=customer.id,
amount=amount,
currency='usd',
description='Flask Charge'
)
return render_template('charge.html', amount=amount)
if __name__ == '__main__':
app.run(debug=True)