From 924d5c8d7d5a44d17544a0a98519ab41a4b7f851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Wed, 6 Jul 2016 15:09:38 +0200 Subject: [PATCH] More error resilience in template rendering Wrapped potentially external and problematic includes in custom try-endtry-blocks --- src/octoprint/templates/dialogs/about.jinja2 | 2 +- src/octoprint/templates/dialogs/settings.jinja2 | 2 +- src/octoprint/templates/dialogs/usersettings.jinja2 | 2 +- src/octoprint/templates/index.jinja2 | 10 +++++----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/octoprint/templates/dialogs/about.jinja2 b/src/octoprint/templates/dialogs/about.jinja2 index a33e85d0..dc94bb2c 100644 --- a/src/octoprint/templates/dialogs/about.jinja2 +++ b/src/octoprint/templates/dialogs/about.jinja2 @@ -38,7 +38,7 @@ class="tab-pane {% if mark_active %}active{% set mark_active = False %}{% endif %} {% if classes_content in data %}{{ data.classes_content|join(' ') }}{% elif classes in data %}{{ data.classes|join(' ') }}{% endif %}" {% if "styles_content" in data %} style="{{ data.styles_content|join(', ') }}" {% elif styles in data %} style="{{ data.styles|join(', ') }}" {% endif %} > - {% include data.template ignore missing %} + {% try "There was an error with the template {filename} at line number {lineno}: {exception}" %}{% include data.template ignore missing %}{% endtry %} {% if "custom_bindings" not in data or data["custom_bindings"] %}{% endif %} {% endif %} diff --git a/src/octoprint/templates/dialogs/settings.jinja2 b/src/octoprint/templates/dialogs/settings.jinja2 index 8187512e..ca95942a 100644 --- a/src/octoprint/templates/dialogs/settings.jinja2 +++ b/src/octoprint/templates/dialogs/settings.jinja2 @@ -38,7 +38,7 @@ class="tab-pane {% if mark_active %}active{% set mark_active = False %}{% endif %} {% if classes_content in data %}{{ data.classes_content|join(' ') }}{% elif classes in data %}{{ data.classes|join(' ') }}{% endif %}" {% if "styles_content" in data %} style="{{ data.styles_content|join(', ') }}" {% elif styles in data %} style="{{ data.styles|join(', ') }}" {% endif %} > - {% include data.template ignore missing %} + {% try "There was an error with the template {filename} at line number {lineno}: {exception}" %}{% include data.template ignore missing %}{% endtry %} {% if "custom_bindings" not in data or data["custom_bindings"] %}{% endif %} {% endif %} diff --git a/src/octoprint/templates/dialogs/usersettings.jinja2 b/src/octoprint/templates/dialogs/usersettings.jinja2 index be405c15..d34da7b4 100644 --- a/src/octoprint/templates/dialogs/usersettings.jinja2 +++ b/src/octoprint/templates/dialogs/usersettings.jinja2 @@ -35,7 +35,7 @@ class="tab-pane {% if mark_active %}active{% set mark_active = False %}{% endif %} {% if classes_content in data %}{{ data.classes_content|join(' ') }}{% elif classes in data %}{{ data.classes|join(' ') }}{% endif %}" {% if "styles_content" in data %} style="{{ data.styles_content|join(', ') }}" {% elif styles in data %} style="{{ data.styles|join(', ') }}" {% endif %} > - {% include data.template ignore missing %} + {% try "There was an error with the template {filename} at line number {lineno}: {exception}" %}{% include data.template ignore missing %}{% endtry %} {% if "custom_bindings" not in data or data["custom_bindings"] %}{% endif %} {% endif %} diff --git a/src/octoprint/templates/index.jinja2 b/src/octoprint/templates/index.jinja2 index 9659de66..5399fb4d 100644 --- a/src/octoprint/templates/index.jinja2 +++ b/src/octoprint/templates/index.jinja2 @@ -31,7 +31,7 @@ {% if "classes" in data %}class="{{ data.classes|join(' ') }}"{% endif %} {% if "styles" in data %}style="{{ data.styles|join(', ') }}"{% endif %} > - {% include data.template ignore missing %} + {% try "There was an error with the template {filename} at line number {lineno}: {exception}" %}{% include data.template ignore missing %}{% endtry %} {% if "custom_bindings" not in data or data["custom_bindings"] %}{% endif %} {% endfor %} @@ -58,7 +58,7 @@ {% if "icon" in data %} {% endif %}{{ entry|e }} {% if "template_header" in data %} - {% include data.template_header ignore missing %} + {% try "There was an error with the template {filename} at line number {lineno}: {exception}" %}{% include data.template_header ignore missing %}{% endtry %} {% endif %}
- {% include data.template ignore missing %} + {% try "There was an error with the template {filename} at line number {lineno}: {exception}" %}{% include data.template ignore missing %}{% endtry %}
@@ -102,7 +102,7 @@ {% if "data_bind" in data %}data-bind="{{ data.data_bind }}"{% endif %} {% if "styles_content" in data %} style="{{ data.styles_content|join(', ') }}" {% elif "styles" in data %} style="{{ data.styles|join(', ') }}" {% endif %} > - {% include data.template ignore missing %} + {% try "There was an error with the template {filename} at line number {lineno}: {exception}" %}{% include data.template ignore missing %}{% endtry %} {% if "custom_bindings" not in data or data["custom_bindings"] %}{% endif %} {% endfor %} @@ -142,7 +142,7 @@ {% for key in templates.generic.order %} {% set data = templates.generic.entries[key] %} - {% include data.template ignore missing %} + {% try "" %}{% include data.template ignore missing %}{% endtry %} {% endfor %}