From 78b8a7d07f7882abfd7ad20d4c81f8c313583a6b Mon Sep 17 00:00:00 2001 From: Edward Betts Date: Tue, 15 Jul 2025 08:46:04 +0000 Subject: [PATCH] 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 --- lookup.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lookup.py b/lookup.py index 8541712..f58196a 100755 --- a/lookup.py +++ b/lookup.py @@ -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)