1234567891011121314151617181920212223242526272829303132333435 |
- from pelican import signals
- from pelican.contents import Content, Article
- from bs4 import BeautifulSoup
- def images_extraction(instance):
- representativeImage = None
- if type(instance) == Article:
- if 'image' in instance.metadata:
- representativeImage = instance.metadata['image']
-
-
- soup = BeautifulSoup(instance.summary, 'html.parser')
- images = soup.find_all('img')
- for i in images:
- if not representativeImage:
- representativeImage = i['src']
- i.extract()
- if len(images) > 0:
-
- instance._summary = unicode(soup)
-
-
- if not representativeImage:
- soup = BeautifulSoup(instance.content, 'html.parser')
- imageTag = soup.find('img')
- if imageTag:
- representativeImage = imageTag['src']
-
-
- instance.featured_image = representativeImage
- def register():
- signals.content_object_init.connect(images_extraction)
|