瀏覽代碼

fix plots

Daniel Sheffield 1 年之前
父節點
當前提交
a873d702e8
共有 3 個文件被更改,包括 7 次插入2 次删除
  1. 5 0
      app/activities/Plot.py
  2. 1 1
      app/data/PriceView.py
  3. 1 1
      app/data/TransactionView.py

+ 5 - 0
app/activities/Plot.py

@@ -13,6 +13,7 @@ import os
 import sys
 from sqlite3 import Cursor
 import psycopg
+import numpy as np
 from db_credentials import HOST, PASSWORD
 ALL_UNITS = {'g','kg','mL','L','Pieces','Bunches','Bags'}
 host = f'host={HOST}'
@@ -79,6 +80,10 @@ print(d)
 sns.set_theme()
 now = datetime.now().date()
 d['ts_month'] = d['ts_raw'].apply(lambda x: date(x.date().year, x.date().month,1))
+d[['price','quantity']] = d[['price','quantity']].apply(
+    lambda y,axis=None: y.apply(lambda x: x and float(x)), #if y.name in ('price','quantity')
+    axis=0
+)
 p = d[d['ts_month'] == date(now.year,now.month,1) ].groupby(['ts_month','group',])['price', 'quantity'].sum()
 
 if not p.empty:

+ 1 - 1
app/data/PriceView.py

@@ -103,7 +103,7 @@ def get_where(product=None, category=None, group=None, organic=None, limit='90 d
         SQL("WHERE"
             "\n      "),
         SQL("\n  AND ").join(where),
-    ])
+    ]) if where else SQL('')
 
 def get_historic_prices_statement(unit, sort=None, product=None, category=None, group=None, organic=None, limit='90 days'):
     window = SQL(f"""(

+ 1 - 1
app/data/TransactionView.py

@@ -53,7 +53,7 @@ def get_transactions_statement(name, exclude=NON_IDENTIFIER_COLUMNS, **kwargs):
             (k,v) for k,v in SELECT.items() if k != 'tags'
         ]])),
         get_from("transactions", JOINS),
-        SQL('').join([SQL('WHERE '), SQL('\n    AND ').join(where)]),
+        SQL('').join([SQL('WHERE '), SQL('\n    AND ').join(where)]) if where else SQL(''),
     ])
     return statement