calibre/recipes/ieee_spectrum_mag.recipe
2024-03-30 13:03:29 +05:30

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