mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
import datetime
|
|
from calibre.web.feeds.news import BasicNewsRecipe
|
|
|
|
class AdvancedUserRecipe1286242553(BasicNewsRecipe):
|
|
title = u'CACM'
|
|
oldest_article = 7
|
|
max_articles_per_feed = 100
|
|
needs_subscription = True
|
|
feeds = [(u'CACM', u'http://cacm.acm.org/magazine.rss')]
|
|
language = 'en'
|
|
__author__ = 'jonmisurda'
|
|
no_stylesheets = True
|
|
remove_tags = [
|
|
dict(name='div', attrs={'class':['FeatureBox', 'ArticleComments', 'SideColumn', \
|
|
'LeftColumn', 'RightColumn', 'SiteSearch', 'MainNavBar','more', 'SubMenu', 'inner']})
|
|
]
|
|
cover_url_pattern = 'http://cacm.acm.org/magazines/%d/%d'
|
|
|
|
def get_browser(self):
|
|
br = BasicNewsRecipe.get_browser(self)
|
|
if self.username is not None and self.password is not None:
|
|
br.open('https://cacm.acm.org/login')
|
|
br.select_form(nr=1)
|
|
br['current_member[user]'] = self.username
|
|
br['current_member[passwd]'] = self.password
|
|
br.submit()
|
|
return br
|
|
|
|
def get_cover_url(self):
|
|
now = datetime.datetime.now()
|
|
|
|
cover_url = None
|
|
soup = self.index_to_soup(self.cover_url_pattern % (now.year, now.month))
|
|
cover_item = soup.find('img',attrs={'alt':'magazine cover image'})
|
|
if cover_item:
|
|
cover_url = cover_item['src']
|
|
return cover_url
|