From 00d558c9bebd4c2aaad44961b068d84d2b9ab001 Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Fri, 5 Jun 2015 12:50:13 +0100 Subject: [PATCH] Catch EmbedNotFoundExeception fixes #1324 --- wagtail/wagtailembeds/format.py | 18 +++++++++++------- .../templatetags/wagtailembeds_tags.py | 7 +++++-- wagtail/wagtailembeds/tests.py | 2 -- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/wagtail/wagtailembeds/format.py b/wagtail/wagtailembeds/format.py index 177331957..cedb78e1c 100644 --- a/wagtail/wagtailembeds/format.py +++ b/wagtail/wagtailembeds/format.py @@ -27,11 +27,15 @@ def embed_to_frontend_html(url): def embed_to_editor_html(url): - embed = embeds.get_embed(url) - if embed is None: - return + try: + embed = embeds.get_embed(url) + if embed is None: + return - # Render template - return render_to_string('wagtailembeds/embed_editor.html', { - 'embed': embed, - }) + # Render template + return render_to_string('wagtailembeds/embed_editor.html', { + 'embed': embed, + }) + except embeds.EmbedNotFoundException: + # Could be replaced with a nice error message + return '' diff --git a/wagtail/wagtailembeds/templatetags/wagtailembeds_tags.py b/wagtail/wagtailembeds/templatetags/wagtailembeds_tags.py index 7cb376201..2c10d21b7 100644 --- a/wagtail/wagtailembeds/templatetags/wagtailembeds_tags.py +++ b/wagtail/wagtailembeds/templatetags/wagtailembeds_tags.py @@ -9,5 +9,8 @@ register = template.Library() @register.filter def embed(url, max_width=None): - embed = embeds.get_embed(url, max_width=max_width) - return mark_safe(embed.html) + try: + embed = embeds.get_embed(url, max_width=max_width) + return mark_safe(embed.html) + except embeds.EmbedNotFoundException: + return '' diff --git a/wagtail/wagtailembeds/tests.py b/wagtail/wagtailembeds/tests.py index d49c52420..1ba97f86d 100644 --- a/wagtail/wagtailembeds/tests.py +++ b/wagtail/wagtailembeds/tests.py @@ -290,7 +290,6 @@ class TestEmbedFilter(TestCase): self.assertEqual(result, '') - @unittest.expectedFailure @patch('wagtail.wagtailembeds.embeds.get_embed') def test_catches_embed_not_found(self, get_embed): get_embed.side_effect = EmbedNotFoundException @@ -470,7 +469,6 @@ class TestMediaEmbedHandler(TestCase): self.assertIn('

Author: test author name

', result) self.assertIn('test title', result) - @unittest.expectedFailure @patch('wagtail.wagtailembeds.embeds.get_embed') def test_test_expand_db_attributes_for_editor_catches_embed_not_found(self, get_embed): get_embed.side_effect = EmbedNotFoundException