mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-30 23:00:21 -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
|