|
@@ -47,7 +47,6 @@ def trend_internal(conn: Connection[TupleRow], path: str, query: FormsDict):
|
|
progress = {
|
|
progress = {
|
|
'stage': None,
|
|
'stage': None,
|
|
'percent': None,
|
|
'percent': None,
|
|
- 'complete': False,
|
|
|
|
}
|
|
}
|
|
try:
|
|
try:
|
|
with conn.cursor() as cur:
|
|
with conn.cursor() as cur:
|
|
@@ -64,7 +63,7 @@ def trend_internal(conn: Connection[TupleRow], path: str, query: FormsDict):
|
|
return
|
|
return
|
|
|
|
|
|
progress.update({ "stage": "Querying database", "percent": "10"})
|
|
progress.update({ "stage": "Querying database", "percent": "10"})
|
|
- yield template("loading", start=True, progress=progress)
|
|
|
|
|
|
+ yield template("trend", start=True) + template("progress", **progress)
|
|
data = get_data(query_manager, **fields)
|
|
data = get_data(query_manager, **fields)
|
|
|
|
|
|
if data.empty:
|
|
if data.empty:
|
|
@@ -72,7 +71,7 @@ def trend_internal(conn: Connection[TupleRow], path: str, query: FormsDict):
|
|
return
|
|
return
|
|
|
|
|
|
progress.update({ "stage": "Preparing data", "percent": "30"})
|
|
progress.update({ "stage": "Preparing data", "percent": "30"})
|
|
- yield template("loading", done=True) + template("loading", progress=progress)
|
|
|
|
|
|
+ yield template("done") + template("progress", **progress)
|
|
|
|
|
|
in_chart = data['$/unit'].apply(lambda x: (x or False) and True)
|
|
in_chart = data['$/unit'].apply(lambda x: (x or False) and True)
|
|
data = data[in_chart]
|
|
data = data[in_chart]
|
|
@@ -118,18 +117,18 @@ def trend_internal(conn: Connection[TupleRow], path: str, query: FormsDict):
|
|
spine.set_color('#ffffff')
|
|
spine.set_color('#ffffff')
|
|
|
|
|
|
progress.update({ "stage": "Rendering chart", "percent": "50"})
|
|
progress.update({ "stage": "Rendering chart", "percent": "50"})
|
|
- yield template("loading", done=True) + template("loading", progress=progress)
|
|
|
|
|
|
+ yield template("done") + template("progress", **progress)
|
|
|
|
|
|
f = StringIO()
|
|
f = StringIO()
|
|
plt.savefig(f, format='svg')
|
|
plt.savefig(f, format='svg')
|
|
progress.update({ "stage": "Done", "percent": "100" })
|
|
progress.update({ "stage": "Done", "percent": "100" })
|
|
- yield template("loading", done=True) + template("loading", end=True, progress=progress)
|
|
|
|
|
|
+ yield template("done") + template("progress", **progress)
|
|
|
|
|
|
organic = BOOLEAN.get(query.organic, None)
|
|
organic = BOOLEAN.get(query.organic, None)
|
|
action = path.split('/')[-1]
|
|
action = path.split('/')[-1]
|
|
form = get_form(action, 'post', _filter, organic, data)
|
|
form = get_form(action, 'post', _filter, organic, data)
|
|
|
|
|
|
- yield template("trend", form=form, svg=f.getvalue())
|
|
|
|
|
|
+ yield template("trend", end=True, form=form, svg=f.getvalue())
|
|
|
|
|
|
except:
|
|
except:
|
|
yield abort(500, f"Failed to render page")
|
|
yield abort(500, f"Failed to render page")
|