From abc2b71f2f0c2d64a52350ff163aae5ffa652094 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 14 Mar 2009 13:27:24 -0700 Subject: [PATCH] New recipe for politico.com by Darko Miletic --- src/calibre/gui2/images/news/politico.png | Bin 0 -> 572 bytes src/calibre/web/feeds/recipes/__init__.py | 2 +- .../web/feeds/recipes/recipe_politico.py | 66 ++++++++++++++++++ 3 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 src/calibre/gui2/images/news/politico.png create mode 100644 src/calibre/web/feeds/recipes/recipe_politico.py diff --git a/src/calibre/gui2/images/news/politico.png b/src/calibre/gui2/images/news/politico.png new file mode 100644 index 0000000000000000000000000000000000000000..6d5f0d055b2865b5907689f256eb09a2f81d3883 GIT binary patch literal 572 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zK-vS0-A-oPfdtD69Mgd`SU*F|v9*U87#LGMT^vI!PA{F{ukDg3a;*OSozpx?89tBw zMZR@i{ju3iOek<)+LVQvn*zjylV8nCKDg&`QTwAS zFV|lF{O{annaQWcr_@j3zHoWwkIT=0A3AL9uqEqJUS;d@FN$0e2X^rJDtqqQZpO*~ zrM|g^A!N%fEru)QDj8C~kB;5aluJLcKL112?9Z9H4k0v+s}^0N&=k^RD`zZ={9NUhez(;R^%eMab}49rS`*R|7vEkCUb1v z`g4oegIczP0~+Vk#ckd#(TKkv;3NO=$nDH|v%hB6mwYIy@_PA4M)cs@S1Q}Kd8O2t z+;CLwXI*j0z|86K6PAV7G$uY&oKtaU`D$55mY#)q1rv_7R$Bkh+MCwm<+)PCVm;#z zk%OP#NT*mzEV$|$q!%vx;ys^_UVMQ1lRsKKTK;=Z3GTILWVpxhmdKI;Vst0841)bN~PV literal 0 HcmV?d00001 diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index 65bb389903..9c0a99e814 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -34,7 +34,7 @@ recipe_modules = ['recipe_' + r for r in ( 'al_jazeera', 'winsupersite', 'borba', 'courrierinternational', 'lamujerdemivida', 'soldiers', 'theonion', 'news_times', 'el_universal', 'mediapart', 'wikinews_en', 'ecogeek', 'daily_mail', - 'new_york_review_of_books_no_sub', + 'new_york_review_of_books_no_sub', 'politico', )] import re, imp, inspect, time, os diff --git a/src/calibre/web/feeds/recipes/recipe_politico.py b/src/calibre/web/feeds/recipes/recipe_politico.py new file mode 100644 index 0000000000..94980d0cb2 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_politico.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Darko Miletic ' +''' +politico.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class Politico(BasicNewsRecipe): + title = 'Politico' + __author__ = 'Darko Miletic' + description = 'Political news from USA' + publisher = 'Capitol News Company, LLC' + category = 'news, politics, USA' + oldest_article = 7 + max_articles_per_feed = 100 + use_embedded_content = False + no_stylesheets = True + remove_javascript = True + encoding = 'cp1252' + language = _('English') + + html2lrf_options = [ + '--comment', description + , '--category', category + , '--publisher', publisher + , '--ignore-tables' + ] + + html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"\nlinearize_tables=True' + + remove_tags = [dict(name=['notags','embed','object','link','img'])] + + feeds = [ + (u'Top Stories' , u'http://www.politico.com/rss/politicopicks.xml' ) + ,(u'Congress' , u'http://www.politico.com/rss/congress.xml' ) + ,(u'Ideas' , u'http://www.politico.com/rss/ideas.xml' ) + ,(u'Life' , u'http://www.politico.com/rss/life.xml' ) + ,(u'Lobbyists' , u'http://www.politico.com/rss/lobbyists.xml' ) + ,(u'Pitboss' , u'http://www.politico.com/rss/pitboss.xml' ) + ,(u'Politics' , u'http://www.politico.com/rss/politics.xml' ) + ,(u'Roger Simon' , u'http://www.politico.com/rss/rogersimon.xml' ) + ,(u'Suite Talk' , u'http://www.politico.com/rss/suitetalk.xml' ) + ,(u'Playbook' , u'http://www.politico.com/rss/playbook.xml' ) + ,(u'The Huddle' , u'http://www.politico.com/rss/huddle.xml' ) + ] + + def preprocess_html(self, soup): + mtag = '' + soup.head.insert(0,mtag) + for item in soup.findAll(style=True): + del item['style'] + return soup + + def print_url(self, soup, default): + printtags = soup.findAll('a',href=True) + for printtag in printtags: + if printtag.string == "Print": + return printtag['href'] + return default + + def print_version(self, url): + soup = self.index_to_soup(url) + return self.print_url(soup, None)