mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-09-29 15:31:08 -04:00
36 lines
1.1 KiB
Python
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
|