Add plot functionality to unsaved sql query and use htmx

This commit is contained in:
Peter Stockings
2025-02-01 20:26:54 +11:00
parent 55149c5ea9
commit 8b02307397
3 changed files with 75 additions and 49 deletions

40
app.py
View File

@@ -478,27 +478,25 @@ def sql_explorer():
@app.route("/sql_query", methods=['POST'])
def sql_query():
query = request.form.get('query')
action = request.form.get('action')
title = request.form.get('title')
if action == 'execute':
(results, columns, error) = db.sql_explorer.execute_sql(query)
saved_queries = db.sql_explorer.list_saved_queries()
return render_template('partials/sql_explorer/sql_query.html',
title=title,
query=query,
error = db.sql_explorer.save_query(title, query)
saved_queries = db.sql_explorer.list_saved_queries()
return render_template('partials/sql_explorer/sql_query.html',
title=title,
query=query,
error=error,
saved_queries=saved_queries)
@app.route("/sql_query/execute", methods=['POST'])
def execute_sql_query():
query = request.form.get('query')
(results, columns, error) = db.sql_explorer.execute_sql(query)
return render_template('partials/sql_explorer/results.html',
results=results,
columns=columns,
error=error,
saved_queries=saved_queries)
else:
error = db.sql_explorer.save_query(title, query)
saved_queries = db.sql_explorer.list_saved_queries()
return render_template('partials/sql_explorer/sql_query.html',
title=title,
query=query,
error=error,
saved_queries=saved_queries)
error=error)
@app.route('/load_sql_query/<int:query_id>', methods=['GET'])
def load_sql_query(query_id):
@@ -533,6 +531,14 @@ def plot_query(query_id):
plot_div = generate_plot(results_df, title)
return plot_div
@app.route("/plot/show", methods=['POST'])
def plot_unsaved_query(): # Rename?
query = request.form.get('query')
title = request.form.get('title')
results_df = db.read_sql_as_df(query)
plot_div = generate_plot(results_df, title)
return plot_div
def get_routes():
routes = []
for rule in app.url_map.iter_rules():