mirror of
https://github.com/simonw/datasette.git
synced 2025-12-10 16:51:24 +01:00
Made show_messages available to plugins, closes #864
This commit is contained in:
parent
7ac4936cec
commit
a8a5f81372
4 changed files with 17 additions and 3 deletions
|
|
@ -739,6 +739,7 @@ class Datasette:
|
||||||
"zip": zip,
|
"zip": zip,
|
||||||
"body_scripts": body_scripts,
|
"body_scripts": body_scripts,
|
||||||
"format_bytes": format_bytes,
|
"format_bytes": format_bytes,
|
||||||
|
"show_messages": lambda: self._show_messages(request),
|
||||||
"extra_css_urls": self._asset_urls("extra_css_urls", template, context),
|
"extra_css_urls": self._asset_urls("extra_css_urls", template, context),
|
||||||
"extra_js_urls": self._asset_urls("extra_js_urls", template, context),
|
"extra_js_urls": self._asset_urls("extra_js_urls", template, context),
|
||||||
"base_url": self.config("base_url"),
|
"base_url": self.config("base_url"),
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,6 @@ class BaseView:
|
||||||
**{
|
**{
|
||||||
"database_url": self.database_url,
|
"database_url": self.database_url,
|
||||||
"database_color": self.database_color,
|
"database_color": self.database_color,
|
||||||
"show_messages": lambda: self.ds._show_messages(request),
|
|
||||||
"select_templates": [
|
"select_templates": [
|
||||||
"{}{}".format(
|
"{}{}".format(
|
||||||
"*" if template_name == template.name else "", template_name
|
"*" if template_name == template.name else "", template_name
|
||||||
|
|
|
||||||
|
|
@ -192,10 +192,13 @@ def register_routes():
|
||||||
|
|
||||||
def add_message(datasette, request):
|
def add_message(datasette, request):
|
||||||
datasette.add_message(request, "Hello from messages")
|
datasette.add_message(request, "Hello from messages")
|
||||||
print("Adding message")
|
|
||||||
print(request._messages)
|
|
||||||
return Response.html("Added message")
|
return Response.html("Added message")
|
||||||
|
|
||||||
|
async def render_message(datasette, request):
|
||||||
|
return Response.html(
|
||||||
|
await datasette.render_template("render_message.html", request=request)
|
||||||
|
)
|
||||||
|
|
||||||
return [
|
return [
|
||||||
(r"/one/$", one),
|
(r"/one/$", one),
|
||||||
(r"/two/(?P<name>.*)$", two),
|
(r"/two/(?P<name>.*)$", two),
|
||||||
|
|
@ -204,6 +207,7 @@ def register_routes():
|
||||||
(r"/csrftoken-form/$", csrftoken_form),
|
(r"/csrftoken-form/$", csrftoken_form),
|
||||||
(r"/not-async/$", not_async),
|
(r"/not-async/$", not_async),
|
||||||
(r"/add-message/$", add_message),
|
(r"/add-message/$", add_message),
|
||||||
|
(r"/render-message/$", render_message),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -610,6 +610,16 @@ def test_register_routes_add_message(app_client):
|
||||||
assert [["Hello from messages", 1]] == decoded
|
assert [["Hello from messages", 1]] == decoded
|
||||||
|
|
||||||
|
|
||||||
|
def test_register_routes_render_message(restore_working_directory, tmpdir_factory):
|
||||||
|
templates = tmpdir_factory.mktemp("templates")
|
||||||
|
(templates / "render_message.html").write_text('{% extends "base.html" %}', "utf-8")
|
||||||
|
with make_app_client(template_dir=templates) as client:
|
||||||
|
response1 = client.get("/add-message/")
|
||||||
|
response2 = client.get("/render-message/", cookies=response1.cookies)
|
||||||
|
assert 200 == response2.status
|
||||||
|
assert "Hello from messages" in response2.text
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_startup(app_client):
|
async def test_startup(app_client):
|
||||||
await app_client.ds.invoke_startup()
|
await app_client.ds.invoke_startup()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue