
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