From b92e7a763e90f4836edc50b033a0c4bca3f75de1 Mon Sep 17 00:00:00 2001 From: giles Date: Sat, 28 Feb 2026 23:46:58 +0000 Subject: [PATCH] Use lazy import for quart.Response in sexp_response helper Co-Authored-By: Claude Opus 4.6 --- shared/sexp/helpers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared/sexp/helpers.py b/shared/sexp/helpers.py index 1a27477..55b7740 100644 --- a/shared/sexp/helpers.py +++ b/shared/sexp/helpers.py @@ -9,7 +9,6 @@ from __future__ import annotations from typing import Any from markupsafe import escape -from quart import Response from .jinja_bridge import render from .page import SEARCH_HEADERS_MOBILE, SEARCH_HEADERS_DESKTOP @@ -227,7 +226,7 @@ def full_page(ctx: dict, *, header_rows_html: str, def sexp_response(sexp_source: str, status: int = 200, - headers: dict | None = None) -> Response: + headers: dict | None = None): """Return an s-expression wire-format response. The client-side sexp.js will intercept responses with Content-Type @@ -237,6 +236,7 @@ def sexp_response(sexp_source: str, status: int = 200, return sexp_response('(~test-row :nodeid "test_foo" :outcome "passed")') """ + from quart import Response resp = Response(sexp_source, status=status, content_type="text/sexp") if headers: for k, v in headers.items():