From 393f1b49d70e9f58bc193c6a28afff4ec9459a2e Mon Sep 17 00:00:00 2001
From: Simon Willison
Date: Fri, 30 Oct 2020 13:12:01 -0700
Subject: [PATCH 0001/1448] Updated nav in pattern portfolio
---
datasette/templates/patterns.html | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/datasette/templates/patterns.html b/datasette/templates/patterns.html
index ac9e2e46..62ef1322 100644
--- a/datasette/templates/patterns.html
+++ b/datasette/templates/patterns.html
@@ -38,11 +38,8 @@
fixtures /
attraction_characteristic
-
-
testuser ·
-
+
+ testuser
From a2a709072059c6b3da365df9a332ca744c2079e9 Mon Sep 17 00:00:00 2001
From: Simon Willison
Date: Fri, 30 Oct 2020 13:12:57 -0700
Subject: [PATCH 0002/1448] Display messages in right place, closes #1071
---
datasette/templates/base.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/datasette/templates/base.html b/datasette/templates/base.html
index e29c2ea5..7e9c6c05 100644
--- a/datasette/templates/base.html
+++ b/datasette/templates/base.html
@@ -44,7 +44,6 @@
{% endif %}
{% endblock %}
-
{% block messages %}
{% if show_messages %}
{% for message, message_type in show_messages() %}
@@ -53,6 +52,7 @@
{% endif %}
{% endblock %}
+
{% block content %}
{% endblock %}
From f0a740ac21cba11ded8717f49d664f9549cd2f83 Mon Sep 17 00:00:00 2001
From: Simon Willison
Date: Sat, 31 Oct 2020 09:21:22 -0700
Subject: [PATCH 0003/1448] Remove load_plugin hook - closes #1073
Refs #1042
This reverts commit 81dea4b07ab2b6f4eaaf248307d2b588472054a1.
---
datasette/app.py | 34 ++--------------------------------
datasette/hookspecs.py | 5 -----
datasette/templates/base.html | 6 +-----
datasette/views/base.py | 9 ++++++++-
docs/plugin_hooks.rst | 18 ------------------
tests/fixtures.py | 1 -
tests/plugins/my_plugin.py | 6 ------
tests/test_plugins.py | 5 -----
8 files changed, 11 insertions(+), 73 deletions(-)
diff --git a/datasette/app.py b/datasette/app.py
index 4b28e715..8cff6577 100644
--- a/datasette/app.py
+++ b/datasette/app.py
@@ -21,7 +21,7 @@ from pathlib import Path
from markupsafe import Markup
from itsdangerous import URLSafeSerializer
import jinja2
-from jinja2 import ChoiceLoader, Environment, FileSystemLoader, PrefixLoader
+from jinja2 import ChoiceLoader, Environment, FileSystemLoader, PrefixLoader, escape
from jinja2.environment import Template
from jinja2.exceptions import TemplateNotFound
import uvicorn
@@ -713,41 +713,12 @@ class Datasette:
self, templates, context=None, request=None, view_name=None
):
context = context or {}
- templates_considered = []
if isinstance(templates, Template):
template = templates
else:
if isinstance(templates, str):
templates = [templates]
-
- # Give plugins first chance at loading the template
- break_outer = False
- plugin_template_source = None
- plugin_template_name = None
- template_name = None
- for template_name in templates:
- if break_outer:
- break
- plugin_template_source = pm.hook.load_template(
- template=template_name,
- request=request,
- datasette=self,
- )
- plugin_template_source = await await_me_maybe(plugin_template_source)
- if plugin_template_source:
- break_outer = True
- plugin_template_name = template_name
- break
- if plugin_template_source is not None:
- template = self.jinja_env.from_string(plugin_template_source)
- else:
- template = self.jinja_env.select_template(templates)
- for template_name in templates:
- from_plugin = template_name == plugin_template_name
- used = from_plugin or template_name == template.name
- templates_considered.append(
- {"name": template_name, "used": used, "from_plugin": from_plugin}
- )
+ template = self.jinja_env.select_template(templates)
body_scripts = []
# pylint: disable=no-member
for extra_script in pm.hook.extra_body_script(
@@ -812,7 +783,6 @@ class Datasette:
),
"base_url": self.config("base_url"),
"csrftoken": request.scope["csrftoken"] if request else lambda: "",
- "templates_considered": templates_considered,
},
**extra_template_vars,
}
diff --git a/datasette/hookspecs.py b/datasette/hookspecs.py
index ca84b355..78070e67 100644
--- a/datasette/hookspecs.py
+++ b/datasette/hookspecs.py
@@ -49,11 +49,6 @@ def extra_template_vars(
"Extra template variables to be made available to the template - can return dict or callable or awaitable"
-@hookspec(firstresult=True)
-def load_template(template, request, datasette):
- "Load the specified template, returning the template code as a string"
-
-
@hookspec
def publish_subcommand(publish):
"Subcommands for 'datasette publish'"
diff --git a/datasette/templates/base.html b/datasette/templates/base.html
index 7e9c6c05..611ba9f6 100644
--- a/datasette/templates/base.html
+++ b/datasette/templates/base.html
@@ -79,10 +79,6 @@ document.body.addEventListener('click', (ev) => {
{% endfor %}
-{% if templates_considered %}
-
-{% endif %}
+{% if select_templates %}{% endif %}