Fix SQLAlchemy deprecation warnings

- Import text from sqlalchemy
- Wrap "SELECT 1" statements in text() function in index() and
  detail_page()
- Addresses SQLAlchemy 2.0+ requirement for explicit text() wrapper on
  raw SQL strings
This commit is contained in:
Edward Betts 2025-07-15 08:46:04 +00:00
parent 98d11b62a6
commit 78b8a7d07f

View file

@ -15,7 +15,7 @@ from flask import Flask, jsonify, redirect, render_template, request, url_for
from pygments import highlight
from pygments.formatters import HtmlFormatter
from pygments.lexers import SparqlLexer
from sqlalchemy import func
from sqlalchemy import func, text
from sqlalchemy.orm.query import Query
from werkzeug.wrappers import Response
@ -238,7 +238,7 @@ def handle_database_error(error: Exception) -> tuple[str, int]:
def index() -> str | Response:
"""Index page."""
t0 = time()
database.session.execute("SELECT 1")
database.session.execute(text("SELECT 1"))
q = request.args.get("q")
if q and q.strip():
return redirect_to_detail(q)
@ -351,7 +351,7 @@ def build_detail_page(lat: float, lon: float) -> str:
@app.route("/detail")
def detail_page() -> Response | str:
"""Detail page."""
database.session.execute("SELECT 1")
database.session.execute(text("SELECT 1"))
try:
lat_str, lon_str = request.args["lat"], request.args["lon"]
lat, lon = float(lat_str), float(lon_str)