06-16-2011, 09:56 PM
|
#3
|
Enthusiast
Posts: 30
Karma: 12
Join Date: Jun 2011
Location: India
Device: Kindle 3g
|
Quote:
Originally Posted by kovidgoyal
What's the difference to the builtin recipe?
|
This is the built in version. Here you are not using RSS
Quote:
from __future__ import with_statement
__license__ = 'GPL 3'
__copyright__ = '2009, Kovid Goyal <kovid@kovidgoyal.net>'
import time
from calibre.web.feeds.news import BasicNewsRecipe
class TheHindu(BasicNewsRecipe):
title = u'The Hindu'
language = 'en_IN'
oldest_article = 7
__author__ = 'Kovid Goyal'
max_articles_per_feed = 100
no_stylesheets = True
keep_only_tags = [dict(id='content')]
remove_tags = [dict(attrs={'class':['article-links', 'breadcr']}),
dict(id=['email-section', 'right-column', 'printfooter'])]
extra_css = '.photo-caption { font-size: smaller }'
def postprocess_html(self, soup, first_fetch):
for t in soup.findAll(['table', 'tr', 'td','center']):
t.name = 'div'
return soup
def parse_index(self):
today = time.strftime('%Y-%m-%d')
soup = self.index_to_soup(
'http://www.thehindu.com/todays-paper/tp-index/?date=' + today)
div = soup.find(id='left-column')
feeds = []
current_section = None
current_articles = []
for x in div.findAll(['h3', 'div']):
if current_section and x.get('class', '') == 'tpaper':
a = x.find('a', href=True)
if a is not None:
current_articles.append({'url':a['href']+'?css=print',
'title':self.tag_to_string(a), 'date': '',
'description':''})
if x.name == 'h3':
if current_section and current_articles:
feeds.append((current_section, current_articles))
current_section = self.tag_to_string(x)
current_articles = []
return feeds
|
And this version is mine:
Quote:
class AdvancedUserRecipe1301060393(BasicNewsRecipe):
title = u'The Hindu1'
oldest_article = 7
max_articles_per_feed = 15
feeds = [(u'National', u'http://www.thehindu.com/news/national/?service=feeder'),
(u'International', u'http://www.thehindu.com/news/international/?service=feeder'),
(u'Sports', u'http://www.thehindu.com/sport/?service=feeder'),
(u'States', u'http://www.thehindu.com/news/states/?service=feeder'),
(u'Science', u'http://www.thehindu.com/sci-tech/science/?service=feeder'),
(u'Business', u'http://www.thehindu.com/business/?service=feeder'),
(u'Life&Style', u'http://www.thehindu.com/life-and-style/?service=feeder'),
(u'Arts', u'http://www.thehindu.com/arts/?service=feeder'),
(u'Health',u'http://www.thehindu.com/health/?service=feeder'),
(u'Editorial', u'http://www.thehindu.com/opinion/editorial/?service=feeder'),
(u'Agriculture', u'http://www.thehindu.com/sci-tech/agriculture/?service=feeder')
]
|
The hindu provides comple RSS feed. So you don't need to make any extra effort just add the RSS feed and your recipe will be ready in no minute.It already provides you the print version of the article.So please up date your calibre 'The Hindu' recipe. Your recipe sometimes doesnot fetch any article.
Comparision:
Calibre Built-In:
New Recipe:
      :t hanks: 
FOR MAKING CALIBRE
BY THE WAY IF YOU ARE AN INDIAN PLEASE    JANLOKPAL AND ANNAHAZARE
|
|
|