This patch slightly changes structure of a `flavors` table. It adds
another column called `ord`, which is used for ordering of coffee
flavors / beverages on the graphs (to maintain the same color scheme).
Scripts `app.py` and `coffee_db.py` are modified to work with this
change.
---
Drobná úprava skriptu, abychom zde mohli zaznamenávat i jiné nápoje -- v tomto
případě jde o club mate. Tím pádem nebudeme potřebovat žádné další zařízení na
počítání. (Záznam lze provést tlačítkem na spodní části obrazovky po přihlášení).
app.py | 4 ++--
coffee_db.py | 3 ++-
coffee_db.sql | 12 +++++++-----
3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/app.py b/app.py
index d66eff1..a172f5d 100644
--- a/app.py
+++ b/app.py
@@ -49,7 +49,7 @@ def user():
uid = session["uid"]
return render_template('user.html',
name=db.get_name(uid),
- flavors=db.flavors(),
+ flavors=[_name for (_name, _ord) in db.flavors()],
count=db.coffee_count(uid, 0),
stamp=time.time()
)
@@ -111,7 +111,7 @@ def coffee_graph_history():
fig = plt.figure(figsize=(4, 3))
ax = fig.add_subplot(111)
- list_flavor = sorted(db.flavors())
+ list_flavor = [_name for (_name, _ord) in sorted(db.flavors(), key=lambda x: x[1])]
l = [{} for i in range(len(list_flavor))]
for ll in l:
for d in unix_days:
diff --git a/coffee_db.py b/coffee_db.py
index 7e28f92..8e65c43 100644
--- a/coffee_db.py
+++ b/coffee_db.py
@@ -56,7 +56,7 @@ def add_coffee(uid, flavor, time=None):
def flavors():
conn, c = open_db()
- res = [row for row, in c.execute("select distinct name from flavors")]
+ res = list(c.execute("select distinct name, ord from flavors"))
close_db(conn)
return res
@@ -91,6 +91,7 @@ def coffee_flavors(uid=None, days=0, start=0):
left join (select * from coffees
"""+query+""") c
on f.name=c.flavor group by f.name
+ order by f.ord asc
""", variables))
close_db(conn)
diff --git a/coffee_db.sql b/coffee_db.sql
index d9f7d8e..77a2f52 100644
--- a/coffee_db.sql
+++ b/coffee_db.sql
@@ -6,14 +6,16 @@ create table if not exists users (
);
create table if not exists flavors (
- name varchar(255) primary key not null
+ name varchar(255) primary key not null,
+ ord integer not null default 999
);
insert or ignore into flavors values
- ("espresso"),
- ("espresso lungo"),
- ("cappuccino"),
- ("latte macchiato")
+ ("espresso", 2),
+ ("espresso lungo", 3),
+ ("cappuccino", 1),
+ ("latte macchiato", 4),
+ ("club mate", 5)
;
create table if not exists coffees (
--
2.7.4