mirror of
https://github.com/simonw/datasette.git
synced 2026-06-04 16:16:59 +02:00
Extract query page rendering into new QueryPage module
Refactor QueryView.get() by moving query execution, CSV streaming, renderer dispatch, and HTML template rendering into a new datasette/query_page.py module. Share renderer dispatch logic between query and table views via dispatch_renderer(). Fix query view passing view_name="query" instead of "table" to output renderers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
5873578d49
commit
5602f3efa5
4 changed files with 880 additions and 402 deletions
|
|
@ -502,6 +502,19 @@ async def test_hook_register_output_renderer_all_parameters(ds_client):
|
|||
}
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_hook_register_output_renderer_query_view_name(ds_client):
|
||||
response = await ds_client.get(
|
||||
"/fixtures/-/query.testall?sql=select+1"
|
||||
)
|
||||
assert response.status_code == 200
|
||||
body = at_memory_re.sub(" at 0xXXX", response.text)
|
||||
data = json.loads(body)
|
||||
assert data["view_name"] == "query"
|
||||
assert data["table"] is None
|
||||
assert data["database"] == "fixtures"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_hook_register_output_renderer_custom_status_code(ds_client):
|
||||
response = await ds_client.get(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue