mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
41 lines
1.4 KiB
Plaintext
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')]
|