home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2011 November
/
CHIP_2011_11.iso
/
Programy
/
Narzedzia
/
Calibre
/
calibre-0.8.18.msi
/
file_280
/
lwn.recipe
< prev
next >
Wrap
Text File
|
2011-09-09
|
2KB
|
56 lines
#!/usr/bin/env python
__license__ = 'GPL v3'
__copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
'''
lwn.net
'''
from calibre.web.feeds.news import BasicNewsRecipe
class LWN(BasicNewsRecipe):
title = u'lwn'
__author__ = 'Oliver Niesner'
description = 'Linux Weekly News'
oldest_article = 54
language = _('English')
max_articles_per_feed = 100
needs_subscription = True
language = 'en'
remove_javascript = True
simultaneous_downloads= 1
delay = 1
LOGIN = 'https://lwn.net/login'
def get_browser(self):
br = BasicNewsRecipe.get_browser()
if self.username is not None and self.password is not None:
br.open(self.LOGIN)
br.select_form(name='loginform')
br['Username'] = self.username
br['Password'] = self.password
br.submit()
return br
remove_tags = [
dict(name='td', attrs={'class':'LeftColumn'}),
dict(name='td', attrs={'class':'NavLink'}),
dict(name='div', attrs={'class':'FormattedComment'}),
dict(name='td', attrs={'class':'MCTopBanner'}),
dict(name='div', attrs={'class':'CommentBox'})
]
feeds = [
(u'lwn' , u'http://lwn.net/headlines/newrss' ),
]
def postprocess_html(self, soup, first):
for tag in soup.findAll(name=['table', 'tr', 'td']):
tag.name = 'div'
return soup
def print_version(self, url):
return url.replace ('rss', '?format=printable')