calibre/recipes/queueacmorg.recipe
2025-01-24 11:14:14 +01:00

39 lines
1.1 KiB
Python

#!/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)