calibre/recipes/ieee_spectrum_mag.recipe
2025-01-24 11:14:15 +01:00

36 lines
1.1 KiB
Python

#!/usr/bin/env python
# vim:fileencoding=utf-8
import datetime
from calibre.web.feeds.news import BasicNewsRecipe
class IEEESpectrumMagazine(BasicNewsRecipe):
title = 'IEEE Spectrum Magazine'
language = 'en'
__author__ = 'yodha8'
description = 'Published on day 1 of every month.'
oldest_article = 120 # Mag gathers articles published older than a month online. So we scan for 4 months in the feed.
max_articles_per_feed = 100
auto_cleanup = True
# RSS feed for the current month
now = datetime.datetime.now()
year_month = now.strftime('%Y/%B').lower()
month_feed_url = 'https://spectrum.ieee.org/feeds/magazine/{}.rss'.format(
year_month
)
feeds = [
('IEEE Spectrum Magazine', month_feed_url),
]
def get_cover_url(self):
'''Go to this month's URL and pull cover image from there.'''
month_url = 'https://spectrum.ieee.org/magazine/{}'.format(self.year_month)
soup = self.index_to_soup(month_url)
img_meta = soup.find('meta', property='og:image')
img_url = img_meta['content']
return img_url