#!/usr/bin/env python # vim:fileencoding=utf-8 from __future__ import absolute_import, division, print_function, unicode_literals from calibre.web.feeds.news import BasicNewsRecipe ''' ACM Queue Magazine ''' class QueueAcmOrg(BasicNewsRecipe): title = 'ACM Queue Magazine' __author__ = 'yodha8' description = 'Queue is the ACM magazine for practicing software engineers. Published once every 2 months. Example: Jan-Feb.' oldest_article = 60 max_articles_per_feed = 50 auto_cleanup = True language = 'en' cover_url = 'https://queue.acm.org/img/acmqueue_logo.gif' feeds = [ ('All Queue Content', 'https://queue.acm.org/rss/feeds/queuecontent.xml'), ] def get_cover_url(self): soup = self.index_to_soup('https://queue.acm.org/') imgs = soup.find_all( 'img', attrs={ 'src': lambda x: x and x.startswith('/app/') }, ) if len(imgs) > 0: self.cover_url = 'https://queue.acm.org/' + imgs[0]['src'] return getattr(self, 'cover_url', self.cover_url)