-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflaskapp.py
More file actions
61 lines (49 loc) · 1.74 KB
/
Copy pathflaskapp.py
File metadata and controls
61 lines (49 loc) · 1.74 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
from datetime import date
from flask import Flask, jsonify, redirect , render_template, request, url_for
import psycopg2
from database import load_expenses,load_expense,add_expense,load_all,delete_expense,load_sum,fetch_analysis
#from sqlalchemy import text
from dotenv import load_dotenv
load_dotenv()
app = Flask(__name__) #the name variable will tell from where it was invoked
@app.route("/")
def render_expenses():
curr_date = date.today()
curr_month = curr_date.month
print(curr_month)
expenses = load_expenses(curr_month)
total_sum = load_sum(curr_month) # Rename sum to total_sum to avoid conflicts
return render_template('home.html', trans=expenses, sum=total_sum)
@app.route("/expense/<id>")
def show_expense(id):
expense = load_expense(id)
trans = expense
return render_template('expense.html',expense=trans)
@app.route("/delete/<id>")
def del_expense(id):
expense = load_expense(id)
trans = expense
delete_expense(id)
return redirect(request.referrer or url_for('render_expenses'))
@app.route("/add")
def addExpense():
data = request.args
#return jsonify(data)
curr_date = date.today()
add_expense(data,curr_date)
return redirect(url_for('render_expenses'))
@app.route("/allExpenses")
def render_all():
expenses = load_all()
sum = load_sum(0)
return render_template('alltrans.html',trans=expenses,sum=sum)
@app.route("/analysis")
def render_analysis():
curr_date = date.today()
curr_month = curr_date.month
data = fetch_analysis(curr_month)
labels = [row[0] for row in data]
values = [row[1] for row in data]
return render_template('analyse.html',labels=labels,values=values,table_data=data)
if __name__ == "__main__":
app.run(debug=True)