From 4a7f195f3e06950220171ae05f54d1a8e0306328 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 17 Mar 2009 16:06:36 -0700 Subject: [PATCH] New recipe for AdventureGamers by Darko Miletic --- .../gui2/images/news/adventuregamers.png | Bin 0 -> 686 bytes src/calibre/web/feeds/recipes/__init__.py | 2 +- .../feeds/recipes/recipe_adventuregamers.py | 75 ++++++++++++++++++ 3 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 src/calibre/gui2/images/news/adventuregamers.png create mode 100644 src/calibre/web/feeds/recipes/recipe_adventuregamers.py diff --git a/src/calibre/gui2/images/news/adventuregamers.png b/src/calibre/gui2/images/news/adventuregamers.png new file mode 100644 index 0000000000000000000000000000000000000000..01590fc2293a83ac22c35c804b7e48675c212e2d GIT binary patch literal 686 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zK-vS0-A-oPfdtD69Mgd`SU*F|v9*U87#Od6x;TbdoL)M4V|K8k%yIkj?|S;aL0(fl0I1g?(JN?Cxpm~?hEvPeU(&dojm?E~}D!W2wyG+cJubV%5oUKhyxb1vW z-y`StlGhh){ki-0pAr1Z^L{$JU$vX~?LziLsoXpd0vi6_DPo%oRMRp?KPdK=-VHsU z{Y^8?n|7L>d~` z(!&fP^S7UPsw(gApKi2r?~g-2mbA}^*Sb0X{;wabo$(W1J~&d(b9*jJ!7;UsF1C{m zXRdnsu`BiHIsL8aucnBJsE3?#e302_czCpqIh-ktILcjH=nV0^2VxJHyD7o{ear0S*s2?iqr14~^4V_ie@5F=wN0~0Glb8Q0y xD+7a-g83aV4Y~O#nQ4`18Z1H#jI4|dtV|3b8fFxE{Re7b@O1TaS?83{1OS69B+LK+ literal 0 HcmV?d00001 diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index d1113480ed..e7435fffd6 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', 'politico', + 'new_york_review_of_books_no_sub', 'politico', 'adventuregamers', )] import re, imp, inspect, time, os diff --git a/src/calibre/web/feeds/recipes/recipe_adventuregamers.py b/src/calibre/web/feeds/recipes/recipe_adventuregamers.py new file mode 100644 index 0000000000..2ef87e532b --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_adventuregamers.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = '2009, Darko Miletic ' +''' +www.adventuregamers.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class AdventureGamers(BasicNewsRecipe): + title = u'Adventure Gamers' + language = _('English') + __author__ = 'Darko Miletic' + description = 'Adventure games portal' + publisher = 'Adventure Gamers' + category = 'news, games, adventure, technology' + language = _('English') + oldest_article = 10 + delay = 10 + max_articles_per_feed = 100 + no_stylesheets = True + encoding = 'cp1252' + remove_javascript = True + use_embedded_content = False + INDEX = u'http://www.adventuregamers.com' + + html2lrf_options = [ + '--comment', description + , '--category', category + , '--publisher', publisher + ] + + html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' + + keep_only_tags = [ + dict(name='div', attrs={'class':'content_middle'}) + ] + + remove_tags = [ + dict(name=['object','link','embed','form']) + ,dict(name='div', attrs={'class':['related-stories','article_leadout','prev','next','both']}) + ] + + remove_tags_after = [dict(name='div', attrs={'class':'toolbar_fat'})] + + feeds = [(u'Articles', u'http://feeds2.feedburner.com/AdventureGamers')] + + def get_article_url(self, article): + return article.get('guid', None) + + def append_page(self, soup, appendtag, position): + pager = soup.find('div',attrs={'class':'toolbar_fat_next'}) + if pager: + nexturl = self.INDEX + pager.a['href'] + soup2 = self.index_to_soup(nexturl) + texttag = soup2.find('div', attrs={'class':'bodytext'}) + for it in texttag.findAll(style=True): + del it['style'] + newpos = len(texttag.contents) + self.append_page(soup2,texttag,newpos) + texttag.extract() + appendtag.insert(position,texttag) + + + def preprocess_html(self, soup): + mtag = '\n' + soup.head.insert(0,mtag) + for item in soup.findAll(style=True): + del item['style'] + self.append_page(soup, soup.body, 3) + pager = soup.find('div',attrs={'class':'toolbar_fat'}) + if pager: + pager.extract() + return soup