#!/usr/bin/env python # vim:fileencoding=utf-8 from calibre.web.feeds.news import BasicNewsRecipe class WorksInProgress(BasicNewsRecipe): title = 'Works in progress' description = 'Works in Progress is an online magazine dedicated to sharing new and underrated ideas to improve the world, and features original writing from some of the most interesting thinkers in the world' # noqa cover_url = "https://www.worksinprogress.co/wp-content/uploads/2020/03/logo-1.svg" oldest_article = 7 max_articles_per_feed = 100 auto_cleanup = True publication_type = 'magazine' language = 'en' index = "https://www.worksinprogress.co/" __author__ = "barakplasma" def parse_index(self): soup = self.index_to_soup(self.index) feeds = [] for section in soup.find_all('div', 'issue-loop'): section_title = section['data-section-id'] section_items = [] for article in section.find_all('div', 'issue-intro'): title = article.find('h2', 'issue-title').text url = article.find_all('a')[1]['href'] author = article.find('a', 'author').text section_items.append({ "title": title, "url": url, "author": author }) feeds.append((section_title, section_items)) return feeds