Better demo plugin for query_actions, refs #2293

pull/2295/head
Simon Willison 2024-03-05 18:06:38 -08:00
rodzic 86335dc722
commit 5de6797d4a
3 zmienionych plików z 10 dodań i 6 usunięć

Wyświetl plik

@ -1561,10 +1561,10 @@ This example adds a new query action linking to a page for explaining a query:
return [
{
"href": datasette.urls.database(database)
+ "/-/explain?"
+ "?"
+ urllib.parse.urlencode(
{
"sql": sql,
"sql": "explain " + sql,
}
),
"label": "Explain this query",

Wyświetl plik

@ -401,8 +401,12 @@ def query_actions(datasette, database, query_name, sql):
return [
{
"href": datasette.urls.database(database)
+ "/-/explain?"
+ urllib.parse.urlencode(args),
+ "?"
+ urllib.parse.urlencode(
{
"sql": "explain " + sql,
}
),
"label": "Explain this query",
},
]

Wyświetl plik

@ -949,10 +949,10 @@ async def test_hook_table_actions(ds_client, table_or_view):
@pytest.mark.parametrize(
"path,expected_url",
(
("/fixtures?sql=select+1", "/fixtures/-/explain?sql=select+1"),
("/fixtures?sql=select+1", "/fixtures?sql=explain+select+1"),
(
"/fixtures/pragma_cache_size",
"/fixtures/-/explain?sql=PRAGMA+cache_size%3B&query_name=pragma_cache_size",
"/fixtures?sql=explain+PRAGMA+cache_size%3B",
),
),
)