Skip to content

Commit 78e4ac8

Browse files
committed
Avoid a CRITICAL error in case of <img> without src attribute
1 parent 5faba25 commit 78e4ac8

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

pelican/plugins/featured_image/featured_image.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def images_extraction(instance):
3030
if not featured_image:
3131
soup = BeautifulSoup(instance._content, "html.parser")
3232
imageTag = soup.find("img")
33-
if imageTag:
33+
if imageTag and imageTag.get("src"):
3434
featured_image = imageTag["src"]
3535

3636
# Set the attribute to content instance

pelican/plugins/featured_image/test_featured_image.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,22 @@ def test_extract_image_from_content(self):
4141
featured_image.images_extraction(article)
4242
self.assertEqual(article.featured_image, TEST_CONTENT_IMAGE_URL)
4343

44+
def test_extract_image_from_content_and_img_has_no_src(self):
45+
args = {
46+
"content": (
47+
str(generate_lorem_ipsum(n=3, html=True))
48+
+ "<img>"
49+
+ str(generate_lorem_ipsum(n=2, html=True))
50+
),
51+
"metadata": {
52+
"summary": TEST_SUMMARY_WITHOUTIMAGE,
53+
},
54+
}
55+
56+
article = Article(**args)
57+
featured_image.images_extraction(article)
58+
self.assertEqual(article.featured_image, None)
59+
4460
def test_extract_image_from_summary(self):
4561
args = {
4662
"content": TEST_CONTENT,

0 commit comments

Comments
 (0)