#!/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