calibre/recipes/physics_today.recipe
Kovid Goyal 567040ee1e Perform PEP8 compliance checks on the entire codebase
Some bits of PEP 8 are turned off via setup.cfg
2016-07-29 21:25:17 +05:30

41 lines
1.4 KiB
Plaintext

import re
from calibre.web.feeds.news import BasicNewsRecipe
from calibre import strftime
class Physicstoday(BasicNewsRecipe):
title = u'Physicstoday'
__author__ = 'Hypernova'
description = u'Physics Today magazine'
publisher = 'American Institute of Physics'
category = 'Physics'
language = 'en'
cover_url = strftime(
'http://ptonline.aip.org/journals/doc/PHTOAD-home/jrnls/images/medcover%m_%Y.jpg')
oldest_article = 30
max_articles_per_feed = 100
no_stylesheets = True
use_embedded_content = False
needs_subscription = True
remove_javascript = True
remove_tags_before = dict(name='h1')
remove_tags = [dict(name='div', attrs={'class': 'highslide-footer'})]
remove_tags = [dict(name='div', attrs={'class': 'highslide-header'})]
preprocess_regexps = [
(re.compile(r'<!-- END ARTICLE and footer section -->.*</body>', re.DOTALL | re.IGNORECASE),
lambda match: '</body>'),
]
def get_browser(self):
br = BasicNewsRecipe.get_browser(self)
if self.username is not None and self.password is not None:
br.open(
'http://ptonline.aip.org/journals/doc/PHTOAD-home/pt_login.jsp?fl=f')
br.select_form(name='login_form')
br['username'] = self.username
br['password'] = self.password
br.submit()
return br
feeds = [(u'All', u'http://www.physicstoday.org/feed.xml')]