Added some stuff

This commit is contained in:
Benjamyn Love 2018-08-16 18:57:42 +10:00
parent d8d4016803
commit 9f076442c8
3 changed files with 64 additions and 13 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
env/ env/
bak/
list.db list.db

52
main.py
View File

@ -2,6 +2,7 @@
from flask import Flask, render_template, request from flask import Flask, render_template, request
from pprint import pprint from pprint import pprint
import sqlite3 import sqlite3
import time
import os.path import os.path
@ -12,7 +13,8 @@ def createDB():
conn = sqlite3.connect('list.db') conn = sqlite3.connect('list.db')
c = conn.cursor() c = conn.cursor()
c.execute('''CREATE TABLE LIST ( c.execute('''CREATE TABLE LIST (
requester text, item text, quatity integer, gotten text)''') id integer PRIMARY KEY, requester text, item text,
quatity integer, gotten text, whenis real)''')
conn.close() conn.close()
@ -26,11 +28,23 @@ def getData():
c = conn.cursor() c = conn.cursor()
res = c.execute("SELECT * FROM LIST") res = c.execute("SELECT * FROM LIST")
data = res.fetchall() data = res.fetchall()
pprint(data) # pprint(data)
return data return data
def updateDB(req): def parseData(data):
print("Parsing Data >>")
results = []
# pprint(data)
for x in range(len(data)):
results.append({"id": data[x][0], "req": data[x][1],
"item": data[x][2], "quantity": data[x][3],
"gotten": data[x][4], "time": data[x][5]})
# pprint(results)
return results
def addRow(req):
for item in req: for item in req:
for value in item: for value in item:
if value == "": if value == "":
@ -39,7 +53,14 @@ def updateDB(req):
with sqlite3.connect('list.db') as conn: with sqlite3.connect('list.db') as conn:
c = conn.cursor() c = conn.cursor()
print(req) print(req)
c.executemany('INSERT INTO LIST VALUES (?,?,?,?)', req) c.executemany('INSERT INTO LIST VALUES (?,?,?,?,?,?)', req)
conn.commit()
def haveGotten(value):
with sqlite3.connect('list.db') as conn:
c = conn.cursor()
c.executemany('UPDATE LIST SET GOTTEN = "TRUE" WHERE id = ?', value)
conn.commit() conn.commit()
createDB() createDB()
@ -50,13 +71,24 @@ app.config['DEBUG'] = True
@app.route('/', methods=['POST', 'GET']) @app.route('/', methods=['POST', 'GET'])
def index(): def index():
if request.method == 'POST': if request.method == 'POST':
req = [(request.form['requester'], request.form['item'], if 'addItem' in request.form:
request.form['quantity'], "False")] req = [(None, request.form['requester'], request.form['item'],
updateDB(req) request.form['quantity'],
data = getData() "False", time.mktime(time.localtime()))]
return render_template('index.html', data=data) addRow(req)
tmpdata = getData()
data = parseData(tmpdata)
return render_template('index.html', data=data)
if 'gotten' in request.form:
# update DB
haveGotten(request.form['id'])
tmpdata = getData()
data = parseData(tmpdata)
return render_template('index.html', data=data)
else: else:
data = getData() tmpdata = getData()
data = parseData(tmpdata)
return render_template('index.html', data=data) return render_template('index.html', data=data)
#insTestData(2) #insTestData(2)

View File

@ -4,14 +4,14 @@
</head> </head>
<body style="background: #868686"> <body style="background: #868686">
<h1>Shopping list </h1> <h1>Shopping list </h1>
<table style="width:100%; justify-content: left"> <table >
<tr> <tr>
<th>Requester</th> <th>Requester</th>
<th>Item</th> <th>Item</th>
<th>Quantity</th> <th>Quantity</th>
<th>Got It?</th> <th>Got It?</th>
</tr> </tr>
{% for res in data %} <!-- {% for res in data %}
<tr> <tr>
{% for field in res %} {% for field in res %}
<td> <td>
@ -19,7 +19,25 @@
</td> </td>
{% endfor %} {% endfor %}
</tr> </tr>
{% endfor %} -->
{% for lists in data %}
<tr>
<td> {{ lists['req'] }}</td>
<td> {{ lists['item'] }}</td>
<td> {{ lists['quantity'] }}</td>
<td> {% if lists['gotten'] == "False" %}
no
{% else %}
yes
{% endif %}</td>
<td> <form action="/" method="post">
<input type="submit" name="gotten" value="*">
<input type="hidden" name="id" value="{{ lists['id'] }}" />
</form> </td>
</tr>
{% endfor %} {% endfor %}
</table> </table>
<table> <table>
<form action="/" method="post"> <form action="/" method="post">
@ -36,7 +54,7 @@
<td><input type="text" name='quantity'/><br/></td> <td><input type="text" name='quantity'/><br/></td>
</tr> </tr>
<tr> <tr>
<td><input type="submit" value="Add Item"/></td> <td><input type="submit" name="addItem" value="Add Item"/></td>
</tr> </tr>
</form> </form>
</table> </table>