#!/usr/pkg/bin/python3.13
# vim:fileencoding=utf-8

from calibre.web.feeds.news import BasicNewsRecipe
import datetime


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
