diff --git a/recipes/icons/nauka_w_polsce.png b/recipes/icons/nauka_w_polsce.png deleted file mode 100644 index be607d80e7..0000000000 Binary files a/recipes/icons/nauka_w_polsce.png and /dev/null differ diff --git a/recipes/icons/nbonline.png b/recipes/icons/nbonline.png deleted file mode 100644 index 2e7c920674..0000000000 Binary files a/recipes/icons/nbonline.png and /dev/null differ diff --git a/recipes/icons/neviditelny_pes.png b/recipes/icons/neviditelny_pes.png deleted file mode 100644 index 9c9283fd07..0000000000 Binary files a/recipes/icons/neviditelny_pes.png and /dev/null differ diff --git a/recipes/icons/new_london_day.png b/recipes/icons/new_london_day.png deleted file mode 100644 index 4e1a60a179..0000000000 Binary files a/recipes/icons/new_london_day.png and /dev/null differ diff --git a/recipes/icons/news_times.png b/recipes/icons/news_times.png deleted file mode 100644 index 65cd219f1e..0000000000 Binary files a/recipes/icons/news_times.png and /dev/null differ diff --git a/recipes/icons/newsbeast.png b/recipes/icons/newsbeast.png deleted file mode 100644 index c1ed81a179..0000000000 Binary files a/recipes/icons/newsbeast.png and /dev/null differ diff --git a/recipes/icons/newsmoldova.png b/recipes/icons/newsmoldova.png deleted file mode 100644 index 1ee4daab25..0000000000 Binary files a/recipes/icons/newsmoldova.png and /dev/null differ diff --git a/recipes/icons/newsobs.png b/recipes/icons/newsobs.png deleted file mode 100644 index cdbc0a1f82..0000000000 Binary files a/recipes/icons/newsobs.png and /dev/null differ diff --git a/recipes/icons/ngz.png b/recipes/icons/ngz.png deleted file mode 100644 index 9c6f5d224c..0000000000 Binary files a/recipes/icons/ngz.png and /dev/null differ diff --git a/recipes/icons/nightflier.png b/recipes/icons/nightflier.png deleted file mode 100644 index 04c29c68dd..0000000000 Binary files a/recipes/icons/nightflier.png and /dev/null differ diff --git a/recipes/icons/nikkei_free.png b/recipes/icons/nikkei_free.png deleted file mode 100644 index c2420cc3af..0000000000 Binary files a/recipes/icons/nikkei_free.png and /dev/null differ diff --git a/recipes/icons/nikkei_sub.png b/recipes/icons/nikkei_sub.png deleted file mode 100644 index c2420cc3af..0000000000 Binary files a/recipes/icons/nikkei_sub.png and /dev/null differ diff --git a/recipes/icons/njp.png b/recipes/icons/njp.png deleted file mode 100644 index 4948d9ce09..0000000000 Binary files a/recipes/icons/njp.png and /dev/null differ diff --git a/recipes/icons/noaa.png b/recipes/icons/noaa.png deleted file mode 100644 index 0149f8758e..0000000000 Binary files a/recipes/icons/noaa.png and /dev/null differ diff --git a/recipes/icons/noerrebronordvestbladet_dk.png b/recipes/icons/noerrebronordvestbladet_dk.png deleted file mode 100644 index 6fc915ca3d..0000000000 Binary files a/recipes/icons/noerrebronordvestbladet_dk.png and /dev/null differ diff --git a/recipes/icons/non_leggerlo.png b/recipes/icons/non_leggerlo.png deleted file mode 100644 index 4b541bc232..0000000000 Binary files a/recipes/icons/non_leggerlo.png and /dev/null differ diff --git a/recipes/icons/norddjurslokalavisen_dk.png b/recipes/icons/norddjurslokalavisen_dk.png deleted file mode 100644 index 70464fce89..0000000000 Binary files a/recipes/icons/norddjurslokalavisen_dk.png and /dev/null differ diff --git a/recipes/icons/nortecastilla.png b/recipes/icons/nortecastilla.png deleted file mode 100644 index 8edcd4c798..0000000000 Binary files a/recipes/icons/nortecastilla.png and /dev/null differ diff --git a/recipes/icons/nos_nl.png b/recipes/icons/nos_nl.png deleted file mode 100644 index 7adae4084e..0000000000 Binary files a/recipes/icons/nos_nl.png and /dev/null differ diff --git a/recipes/icons/novaya_media.png b/recipes/icons/novaya_media.png deleted file mode 100644 index f63a2da1bd..0000000000 Binary files a/recipes/icons/novaya_media.png and /dev/null differ diff --git a/recipes/icons/novilist_novine_hr.png b/recipes/icons/novilist_novine_hr.png deleted file mode 100644 index 9d43209f09..0000000000 Binary files a/recipes/icons/novilist_novine_hr.png and /dev/null differ diff --git a/recipes/icons/nowiny_rybnik.png b/recipes/icons/nowiny_rybnik.png deleted file mode 100644 index 3ad497e484..0000000000 Binary files a/recipes/icons/nowiny_rybnik.png and /dev/null differ diff --git a/recipes/icons/npr_music_blogs.png b/recipes/icons/npr_music_blogs.png deleted file mode 100644 index 7ac08c0786..0000000000 Binary files a/recipes/icons/npr_music_blogs.png and /dev/null differ diff --git a/recipes/icons/nrc_handelsblad.png b/recipes/icons/nrc_handelsblad.png deleted file mode 100644 index 25b156a69a..0000000000 Binary files a/recipes/icons/nrc_handelsblad.png and /dev/null differ diff --git a/recipes/icons/nsfw_corp.png b/recipes/icons/nsfw_corp.png deleted file mode 100644 index cc79edab84..0000000000 Binary files a/recipes/icons/nsfw_corp.png and /dev/null differ diff --git a/recipes/icons/ntv_spor.png b/recipes/icons/ntv_spor.png deleted file mode 100644 index 43da212e91..0000000000 Binary files a/recipes/icons/ntv_spor.png and /dev/null differ diff --git a/recipes/icons/ntv_tr.png b/recipes/icons/ntv_tr.png deleted file mode 100644 index 9c80b2f18d..0000000000 Binary files a/recipes/icons/ntv_tr.png and /dev/null differ diff --git a/recipes/icons/nursingtimes.png b/recipes/icons/nursingtimes.png deleted file mode 100644 index a97b1d3937..0000000000 Binary files a/recipes/icons/nursingtimes.png and /dev/null differ diff --git a/recipes/icons/nzz_folio.png b/recipes/icons/nzz_folio.png deleted file mode 100644 index 7283bd9d2a..0000000000 Binary files a/recipes/icons/nzz_folio.png and /dev/null differ diff --git a/recipes/icons/o_globo.png b/recipes/icons/o_globo.png deleted file mode 100644 index 4be33f65c3..0000000000 Binary files a/recipes/icons/o_globo.png and /dev/null differ diff --git a/recipes/icons/observa_digital.png b/recipes/icons/observa_digital.png deleted file mode 100644 index 486f52bddd..0000000000 Binary files a/recipes/icons/observa_digital.png and /dev/null differ diff --git a/recipes/icons/observer.png b/recipes/icons/observer.png deleted file mode 100644 index 6f6d332a0b..0000000000 Binary files a/recipes/icons/observer.png and /dev/null differ diff --git a/recipes/icons/odenselokalavisen_dk.png b/recipes/icons/odenselokalavisen_dk.png deleted file mode 100644 index 70464fce89..0000000000 Binary files a/recipes/icons/odenselokalavisen_dk.png and /dev/null differ diff --git a/recipes/icons/oesterbroavis_dk.png b/recipes/icons/oesterbroavis_dk.png deleted file mode 100644 index 6fc915ca3d..0000000000 Binary files a/recipes/icons/oesterbroavis_dk.png and /dev/null differ diff --git a/recipes/icons/office_space.png b/recipes/icons/office_space.png deleted file mode 100644 index 3b702313c5..0000000000 Binary files a/recipes/icons/office_space.png and /dev/null differ diff --git a/recipes/icons/onionavclub.png b/recipes/icons/onionavclub.png deleted file mode 100644 index df21c7dadf..0000000000 Binary files a/recipes/icons/onionavclub.png and /dev/null differ diff --git a/recipes/icons/opinion_bo.png b/recipes/icons/opinion_bo.png deleted file mode 100644 index 5eb29312fa..0000000000 Binary files a/recipes/icons/opinion_bo.png and /dev/null differ diff --git a/recipes/icons/oregonian.png b/recipes/icons/oregonian.png deleted file mode 100644 index e9b35936c8..0000000000 Binary files a/recipes/icons/oregonian.png and /dev/null differ diff --git a/recipes/icons/oreilly_premium.png b/recipes/icons/oreilly_premium.png deleted file mode 100644 index 2f0fafa97a..0000000000 Binary files a/recipes/icons/oreilly_premium.png and /dev/null differ diff --git a/recipes/icons/oriental_daily.png b/recipes/icons/oriental_daily.png deleted file mode 100644 index 9deb272eae..0000000000 Binary files a/recipes/icons/oriental_daily.png and /dev/null differ diff --git a/recipes/icons/origo_hu.png b/recipes/icons/origo_hu.png deleted file mode 100644 index 61da70e0ab..0000000000 Binary files a/recipes/icons/origo_hu.png and /dev/null differ diff --git a/recipes/icons/orlando_sentinel.png b/recipes/icons/orlando_sentinel.png deleted file mode 100644 index f9f5cac6e6..0000000000 Binary files a/recipes/icons/orlando_sentinel.png and /dev/null differ diff --git a/recipes/icons/orsai.png b/recipes/icons/orsai.png deleted file mode 100644 index 23df5f8102..0000000000 Binary files a/recipes/icons/orsai.png and /dev/null differ diff --git a/recipes/icons/osel_cz.png b/recipes/icons/osel_cz.png deleted file mode 100644 index bfaf67b257..0000000000 Binary files a/recipes/icons/osel_cz.png and /dev/null differ diff --git a/recipes/icons/pandodaily.png b/recipes/icons/pandodaily.png deleted file mode 100644 index 120340cb20..0000000000 Binary files a/recipes/icons/pandodaily.png and /dev/null differ diff --git a/recipes/icons/panorama.png b/recipes/icons/panorama.png deleted file mode 100644 index 10d779645c..0000000000 Binary files a/recipes/icons/panorama.png and /dev/null differ diff --git a/recipes/icons/paperli_topic.png b/recipes/icons/paperli_topic.png deleted file mode 100644 index c4532ba757..0000000000 Binary files a/recipes/icons/paperli_topic.png and /dev/null differ diff --git a/recipes/icons/patente_de_corso.png b/recipes/icons/patente_de_corso.png deleted file mode 100644 index 96cd4cf742..0000000000 Binary files a/recipes/icons/patente_de_corso.png and /dev/null differ diff --git a/recipes/icons/pc_lab.png b/recipes/icons/pc_lab.png deleted file mode 100644 index 0732d53a65..0000000000 Binary files a/recipes/icons/pc_lab.png and /dev/null differ diff --git a/recipes/icons/pc_mag.png b/recipes/icons/pc_mag.png deleted file mode 100644 index 0193481355..0000000000 Binary files a/recipes/icons/pc_mag.png and /dev/null differ diff --git a/recipes/icons/pcworldro.png b/recipes/icons/pcworldro.png deleted file mode 100644 index e559fa683e..0000000000 Binary files a/recipes/icons/pcworldro.png and /dev/null differ diff --git a/recipes/icons/penguin_news.png b/recipes/icons/penguin_news.png deleted file mode 100644 index 72d250997f..0000000000 Binary files a/recipes/icons/penguin_news.png and /dev/null differ diff --git a/recipes/icons/people_us_mashup.png b/recipes/icons/people_us_mashup.png deleted file mode 100644 index bc3b2e141a..0000000000 Binary files a/recipes/icons/people_us_mashup.png and /dev/null differ diff --git a/recipes/icons/periodismo_humano_es.png b/recipes/icons/periodismo_humano_es.png deleted file mode 100644 index 8f674bf37a..0000000000 Binary files a/recipes/icons/periodismo_humano_es.png and /dev/null differ diff --git a/recipes/icons/peterschiff.png b/recipes/icons/peterschiff.png deleted file mode 100644 index fc196f903d..0000000000 Binary files a/recipes/icons/peterschiff.png and /dev/null differ diff --git a/recipes/icons/phd_comics.png b/recipes/icons/phd_comics.png deleted file mode 100644 index 1459d2e4be..0000000000 Binary files a/recipes/icons/phd_comics.png and /dev/null differ diff --git a/recipes/icons/philippino_star_ngayon.png b/recipes/icons/philippino_star_ngayon.png deleted file mode 100644 index 725cbf17fd..0000000000 Binary files a/recipes/icons/philippino_star_ngayon.png and /dev/null differ diff --git a/recipes/icons/philly.png b/recipes/icons/philly.png deleted file mode 100644 index e611a6a7c0..0000000000 Binary files a/recipes/icons/philly.png and /dev/null differ diff --git a/recipes/icons/physics_today.png b/recipes/icons/physics_today.png deleted file mode 100644 index 68c9374129..0000000000 Binary files a/recipes/icons/physics_today.png and /dev/null differ diff --git a/recipes/icons/physics_world.png b/recipes/icons/physics_world.png deleted file mode 100644 index 936a2704fa..0000000000 Binary files a/recipes/icons/physics_world.png and /dev/null differ diff --git a/recipes/icons/piratska_strana.png b/recipes/icons/piratska_strana.png deleted file mode 100644 index 1a9a8ae83b..0000000000 Binary files a/recipes/icons/piratska_strana.png and /dev/null differ diff --git a/recipes/icons/piratske_noviny.png b/recipes/icons/piratske_noviny.png deleted file mode 100644 index f0d3789b59..0000000000 Binary files a/recipes/icons/piratske_noviny.png and /dev/null differ diff --git a/recipes/icons/plus_info.png b/recipes/icons/plus_info.png deleted file mode 100644 index 0af1a624a3..0000000000 Binary files a/recipes/icons/plus_info.png and /dev/null differ diff --git a/recipes/icons/pnn.png b/recipes/icons/pnn.png deleted file mode 100644 index 6c0240cf1a..0000000000 Binary files a/recipes/icons/pnn.png and /dev/null differ diff --git a/recipes/icons/pobjeda.png b/recipes/icons/pobjeda.png deleted file mode 100644 index 10de3f0f6a..0000000000 Binary files a/recipes/icons/pobjeda.png and /dev/null differ diff --git a/recipes/icons/poche.png b/recipes/icons/poche.png deleted file mode 100644 index 5ca1e1fd5b..0000000000 Binary files a/recipes/icons/poche.png and /dev/null differ diff --git a/recipes/icons/politifact.png b/recipes/icons/politifact.png deleted file mode 100644 index 3fb64ab6e0..0000000000 Binary files a/recipes/icons/politifact.png and /dev/null differ diff --git a/recipes/icons/politika.png b/recipes/icons/politika.png deleted file mode 100644 index e50bbd9693..0000000000 Binary files a/recipes/icons/politika.png and /dev/null differ diff --git a/recipes/icons/polityka.png b/recipes/icons/polityka.png deleted file mode 100644 index b944d96ee8..0000000000 Binary files a/recipes/icons/polityka.png and /dev/null differ diff --git a/recipes/icons/portfolio.png b/recipes/icons/portfolio.png deleted file mode 100644 index fc60b735f5..0000000000 Binary files a/recipes/icons/portfolio.png and /dev/null differ diff --git a/recipes/icons/portfolio_hu.png b/recipes/icons/portfolio_hu.png deleted file mode 100644 index 519270e8ec..0000000000 Binary files a/recipes/icons/portfolio_hu.png and /dev/null differ diff --git a/recipes/icons/portfolio_hu_hu.png b/recipes/icons/portfolio_hu_hu.png deleted file mode 100644 index 0e471fa1df..0000000000 Binary files a/recipes/icons/portfolio_hu_hu.png and /dev/null differ diff --git a/recipes/icons/post_today.png b/recipes/icons/post_today.png deleted file mode 100644 index 881761b8c1..0000000000 Binary files a/recipes/icons/post_today.png and /dev/null differ diff --git a/recipes/icons/poughkeepsie_journal.png b/recipes/icons/poughkeepsie_journal.png deleted file mode 100644 index 6ae6d01c94..0000000000 Binary files a/recipes/icons/poughkeepsie_journal.png and /dev/null differ diff --git a/recipes/icons/praguemonitor.png b/recipes/icons/praguemonitor.png deleted file mode 100644 index 045e226284..0000000000 Binary files a/recipes/icons/praguemonitor.png and /dev/null differ diff --git a/recipes/icons/pravda_it.png b/recipes/icons/pravda_it.png deleted file mode 100644 index cc7aa958cf..0000000000 Binary files a/recipes/icons/pravda_it.png and /dev/null differ diff --git a/recipes/icons/pravda_rs.png b/recipes/icons/pravda_rs.png deleted file mode 100644 index ad854c3bd6..0000000000 Binary files a/recipes/icons/pravda_rs.png and /dev/null differ diff --git a/recipes/icons/pravo.png b/recipes/icons/pravo.png deleted file mode 100644 index d856b33469..0000000000 Binary files a/recipes/icons/pravo.png and /dev/null differ diff --git a/recipes/icons/pressonline.png b/recipes/icons/pressonline.png deleted file mode 100644 index 2e3575c0bd..0000000000 Binary files a/recipes/icons/pressonline.png and /dev/null differ diff --git a/recipes/icons/pressthink.png b/recipes/icons/pressthink.png deleted file mode 100644 index 4d9bec26ff..0000000000 Binary files a/recipes/icons/pressthink.png and /dev/null differ diff --git a/recipes/icons/pro_linux_de.png b/recipes/icons/pro_linux_de.png deleted file mode 100644 index 7a5802c945..0000000000 Binary files a/recipes/icons/pro_linux_de.png and /dev/null differ diff --git a/recipes/icons/project_en.png b/recipes/icons/project_en.png deleted file mode 100644 index 7df6d24be8..0000000000 Binary files a/recipes/icons/project_en.png and /dev/null differ diff --git a/recipes/icons/projo.png b/recipes/icons/projo.png deleted file mode 100644 index 30b664d629..0000000000 Binary files a/recipes/icons/projo.png and /dev/null differ diff --git a/recipes/icons/promotor.png b/recipes/icons/promotor.png deleted file mode 100644 index 865d83a5b8..0000000000 Binary files a/recipes/icons/promotor.png and /dev/null differ diff --git a/recipes/icons/prosport.png b/recipes/icons/prosport.png deleted file mode 100644 index 56a2796634..0000000000 Binary files a/recipes/icons/prosport.png and /dev/null differ diff --git a/recipes/icons/prostamerika.png b/recipes/icons/prostamerika.png deleted file mode 100644 index faafa6d34d..0000000000 Binary files a/recipes/icons/prostamerika.png and /dev/null differ diff --git a/recipes/icons/protvmagazin.png b/recipes/icons/protvmagazin.png deleted file mode 100644 index 4f43f74bf3..0000000000 Binary files a/recipes/icons/protvmagazin.png and /dev/null differ diff --git a/recipes/icons/psychologies.png b/recipes/icons/psychologies.png deleted file mode 100644 index 55eb67e48b..0000000000 Binary files a/recipes/icons/psychologies.png and /dev/null differ diff --git a/recipes/icons/publico.png b/recipes/icons/publico.png deleted file mode 100644 index de77c3f0c6..0000000000 Binary files a/recipes/icons/publico.png and /dev/null differ diff --git a/recipes/icons/publika.png b/recipes/icons/publika.png deleted file mode 100644 index 5d7f998f19..0000000000 Binary files a/recipes/icons/publika.png and /dev/null differ diff --git a/recipes/icons/pvp_online.png b/recipes/icons/pvp_online.png deleted file mode 100644 index 4b053db61c..0000000000 Binary files a/recipes/icons/pvp_online.png and /dev/null differ diff --git a/recipes/icons/quotidiano.png b/recipes/icons/quotidiano.png deleted file mode 100644 index 6a2f9c3840..0000000000 Binary files a/recipes/icons/quotidiano.png and /dev/null differ diff --git a/recipes/nauka_w_polsce.recipe b/recipes/nauka_w_polsce.recipe deleted file mode 100644 index 7b91b44c21..0000000000 --- a/recipes/nauka_w_polsce.recipe +++ /dev/null @@ -1,59 +0,0 @@ -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NaukawPolsce(BasicNewsRecipe): - title = u'PAP Nauka w Polsce' - __author__ = 'fenuks' - description = u'Serwis Nauka w Polsce ma za zadanie popularyzację polskiej nauki. Można na nim znaleźć wiadomości takie jak: osiągnięcia polskich naukowców, wydarzenia na polskich uczelniach, osiągnięcia studentów, konkursy dla badaczy, staże i stypendia naukowe, wydarzenia w polskiej nauce, kalendarium wydarzeń w nauce, materiały wideo o nauce.' # noqa - category = 'science' - language = 'pl' - cover_url = 'http://www.naukawpolsce.pap.pl/Themes/Pap/images/logo-pl.gif' - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - remove_empty_feeds = True - extra_css = '.miniaturka {float: left; margin-right: 5px; max-width: 350px;} .miniaturka-dol-strony {display: inline-block; margin: 0 15px; width: 120px;}' - ignore_duplicate_articles = {'title', 'url'} - index = 'http://www.naukawpolsce.pl' - keep_only_tags = [dict(name='div', attrs={'class': 'margines wiadomosc'})] - remove_tags = [dict(name='div', attrs={'class': 'tagi'})] - - def find_articles(self, url): - articles = [] - soup = self.index_to_soup(url) - for i in soup.findAll(name='div', attrs={'class': 'aktualnosci-margines lista-depesz information-content'}): - title = i.h1.a.string - url = self.index + i.h1.a['href'] - date = '' # i.span.string - articles.append({'title': title, - 'url': url, - 'date': date, - 'description': '' - }) - return articles - - def parse_index(self): - feeds = [] - feeds.append((u"Historia i kultura", self.find_articles( - 'http://www.naukawpolsce.pl/historia-i-kultura/'))) - feeds.append((u"Kosmos", self.find_articles( - 'http://www.naukawpolsce.pl/kosmos/'))) - feeds.append((u"Przyroda", self.find_articles( - 'http://www.naukawpolsce.pl/przyroda/'))) - feeds.append((u"Społeczeństwo", self.find_articles( - 'http://www.naukawpolsce.pl/spoleczenstwo/'))) - feeds.append((u"Technologie", self.find_articles( - 'http://www.naukawpolsce.pl/technologie/'))) - feeds.append((u"Uczelnie", self.find_articles( - 'http://www.naukawpolsce.pl/uczelnie/'))) - feeds.append((u"Nauki medyczne", self.find_articles( - 'http://www.naukawpolsce.pl/zdrowie/'))) - - return feeds - - def preprocess_html(self, soup): - for p in soup.findAll(name='p', text=re.compile(' ')): - p.extract() - return soup diff --git a/recipes/nbonline.recipe b/recipes/nbonline.recipe deleted file mode 100644 index 13aff845fa..0000000000 --- a/recipes/nbonline.recipe +++ /dev/null @@ -1,33 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class NBOnline(BasicNewsRecipe): - title = u'Nikkei Business Online' - language = 'ja' - description = u'Nikkei Business Online.\u6CE8\uFF1A\u30E6\u30FC\u30B6\u30FC\u540D\u306Bemail\u30A2\u30C9\u30EC\u30B9\u3068\u30E6\u30FC\u30B6\u30FC\u540D\u3092\u30BB\u30DF\u30B3\u30ED\u30F3\u3067\u533A\u5207\u3063\u3066\u5165\u308C\u3066\u304F\u3060\u3055\u3044\u3002\u4F8B\uFF1Aemail@address.jp;username . PLEASE NOTE: You need to put your email address and username into username field separated by ; (semi-colon).' # noqa - __author__ = 'Ado Nishimura' - needs_subscription = True - oldest_article = 7 - max_articles_per_feed = 100 - remove_tags_before = dict(id='kanban') - remove_tags = [dict(name='div', id='footer')] - - feeds = [('Nikkei Business Online', - 'http://business.nikkeibp.co.jp/rss/all_nbo.rdf')] - - def get_cover_url(self): - return 'http://business.nikkeibp.co.jp/images/nbo/200804/parts/logo.gif' - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - if self.username is not None and self.password is not None: - br.open('https://signon.nikkeibp.co.jp/front/login/?ct=p&ts=nbo') - br.select_form(name='loginActionForm') - br['email'] = self.username.split(';')[0] - br['userId'] = self.username.split(';')[1] - br['password'] = self.password - br.submit() - return br - - def print_version(self, url): - return url + '?ST=print' diff --git a/recipes/neviditelny_pes.recipe b/recipes/neviditelny_pes.recipe deleted file mode 100644 index 36db2a74da..0000000000 --- a/recipes/neviditelny_pes.recipe +++ /dev/null @@ -1,31 +0,0 @@ -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -from __future__ import unicode_literals - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class pesRecipe(BasicNewsRecipe): - __author__ = 'bubak' - title = u'Neviditelný pes' - publisher = u'' - description = u'Neviditelný pes' - oldest_article = 1 - max_articles_per_feed = 20 - use_embedded_content = False - remove_empty_feeds = True - - feeds = [ - (u'Neviditelný pes', - u'http://neviditelnypes.lidovky.cz/export/rss.asp?c=pes_neviditelny') - ] - - language = 'cs' - cover_url = 'http://g.zpravy.cz/o/pes/logo_pes.jpg' - remove_javascript = True - no_stylesheets = True - extra_css = """ - """ - - remove_tags = [] - remove_tags_before = dict(name='div', attrs={'id': 'art-full'}) - remove_tags_after = dict(name='div', attrs={'id': 'authors'}) diff --git a/recipes/new_london_day.recipe b/recipes/new_london_day.recipe deleted file mode 100644 index 360150e490..0000000000 --- a/recipes/new_london_day.recipe +++ /dev/null @@ -1,73 +0,0 @@ -__license__ = 'GPL 3' -__copyright__ = '2009, Kovid Goyal ' -__docformat__ = 'restructuredtext en' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1294342201(BasicNewsRecipe): - title = u'New London Day' - __author__ = 'Being' - description = 'State, local and business news from New London, CT' - language = 'en' - oldest_article = 1 - max_articles_per_feed = 200 - - use_embedded_content = False - no_stylesheets = True - remove_javascript = True - remove_tags_before = dict(id='article') - remove_tags_after = dict(id='article') - remove_tags = [dict(attrs={'class': ['articleTools', 'post-tools', 'side_tool', 'nextArticleLink clearfix']}), - dict(id=['footer', 'toolsRight', 'articleInline', 'navigation', - 'archive', 'side_search', 'blog_sidebar', 'side_tool', 'side_index']), - dict(name=['script', 'noscript', 'style'])] - remove_tags_after = [{'class': ['photo_article', ]}] - remove_tags = [{'id': ["moduleArticleTools", "content-bottom", "rail", "articleRelates module", "toolSet", "relatedrailcontent", "div-wrapper", "beta", "atp-comments", "footer"]}, {'class': ["clearfix", "relatedTitle", "articleRelates module", "asset-footer", "tools", "comments", "featurePromo", "featurePromo fp-topjobs brownBackground", "clearfix fullSpan brownBackground", "curvedContent"]}, # noqa - dict(name='font', attrs={'id': ["cr-other-headlines"]})] - extra_css = ''' - h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;} - h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;} - .byline {font-family:Arial,Helvetica,sans-serif; font-size:xx-small;} - .date {font-family:Arial,Helvetica,sans-serif; font-size:xx-small;} - p{font-family:Arial,Helvetica,sans-serif;font-size:small;} - .copyright {font-family:Arial,Helvetica,sans-serif;font-size:xx-small;text-align:center} - .story{font-family:Arial,Helvetica,sans-serif;font-size:small;} - .entry-asset asset hentry{font-family:Arial,Helvetica,sans-serif;font-size:small;} - .pagebody{font-family:Arial,Helvetica,sans-serif;font-size:small;} - .maincontentcontainer{font-family:Arial,Helvetica,sans-serif;font-size:small;} - .story-body{font-family:Arial,Helvetica,sans-serif;font-size:small;} - body{font-family:Helvetica,Arial,sans-serif;font-size:small;} - ''' - - feeds = [ - (u'All News', u'http://www.theday.com/section/rss'), - (u'Breaking News', u'http://www.theday.com/section/rss01'), - (u'Police and Courts', u'http://www.theday.com/section/rss02'), - (u'State News', u'http://www.theday.com/section/rss03'), - (u'Local Business', u'http://www.theday.com/section/rss04'), - (u'Entertainment', u'http://www.theday.com/section/rss05'), - (u'Opinion', u'http://www.theday.com/section/rss06'), - (u'Casinos', u'http://www.theday.com/section/rss12'), - (u'Defense and Military', u'http://www.theday.com/section/rss14'), - (u'Ann Baldelli Ruminations', u'http://www.theday.com/section/rss20'), - (u'Paul Choiniere Ruminations', u'http://www.theday.com/section/rss21'), - (u'Michael Costanza Omnivore', u'http://www.theday.com/section/rss23'), - (u'Rebecca Dangelo Reel Life', u'http://www.theday.com/section/rss25'), ] - - def print_version(self, url): - return url.replace('/index.html', '/print.html') - - def get_article_url(self, article): - return article.get('feedburner_origlink', article.get('guid', article.get('link'))) - - def postprocess_html(self, soup, first_fetch): - for t in soup.findAll(['table', 'tr', 'td']): - t.name = 'div' - - for tag in soup.findAll('form', dict(attrs={'name': ["comments_form"]})): - tag.extract() - for tag in soup.findAll('font', dict(attrs={'id': ["cr-other-headlines"]})): - tag.extract() - - return soup diff --git a/recipes/news_times.recipe b/recipes/news_times.recipe deleted file mode 100644 index 7b681797b2..0000000000 --- a/recipes/news_times.recipe +++ /dev/null @@ -1,28 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class NewsTimes(BasicNewsRecipe): - title = 'Newstimes' - __author__ = 'Darko Miletic' - description = 'news from USA' - language = 'en' - - oldest_article = 1 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'utf-8' - remove_javascript = True - - keep_only_tags = [ - dict(name='h1', attrs={'id': 'articleTitle'}), dict( - name='div', attrs={'id': ['articleByline', 'articleDate', 'articleBody']}) - ] - remove_tags = [ - dict(name=['object', 'link']), dict( - name='div', attrs={'class': 'articleEmbeddedAdBox'}) - ] - - feeds = [ - (u'Latest news', u'http://feeds.newstimes.com/mngi/rss/CustomRssServlet/3/201071.xml') - ] diff --git a/recipes/newsbeast.recipe b/recipes/newsbeast.recipe deleted file mode 100644 index e708efbfd6..0000000000 --- a/recipes/newsbeast.recipe +++ /dev/null @@ -1,61 +0,0 @@ -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class newsbeast(BasicNewsRecipe): - title = 'Newsbeast' - __author__ = 'Stelios' - description = 'News from Greece' - oldest_article = 2 - max_articles_per_feed = 100 - publisher = 'newsbeast' - category = 'news, GR' - language = 'el' - encoding = 'utf8' - no_stylesheets = True - use_embedded_content = False - remove_empty_feeds = True - encoding = 'utf8' - keep_only_tags = [ - dict(name='div', attrs={'class': ['article-title']}), - # dict(name='img', attrs={'class' : ['article_photo']}), - # If enabled feeds exceede 15MB - dict(name='div', attrs={'class': ['txt']}) - ] - remove_tags = [ - dict(name='table', attrs={'id': ['artFoot']}), - dict(name='img'), - # If removed feeds exceede 15MB - dict(name='p', attrs={'class': ['article-details']}) - ] - - feeds = [ - (u'\u0395\u03BB\u03BB\u03AC\u03B4\u03B1', - 'http://www.newsbeast.gr/feeds/greece'), - (u'\u039A\u03CC\u03C3\u03BC\u03BF\u03C2', - 'http://www.newsbeast.gr/feeds/world'), - (u'\u03A0\u03BF\u03BB\u03B9\u03C4\u03B9\u03BA\u03AE', - 'http://www.newsbeast.gr/feeds/politiki'), - (u'\u039F\u03B9\u03BA\u03BF\u03BD\u03BF\u03BC\u03AF\u03B1', - 'http://www.newsbeast.gr/feeds/financial'), - (u'\u0391\u03B8\u03BB\u03B7\u03C4\u03B9\u03BA\u03AC', - 'http://www.newsbeast.gr/feeds/sports'), - (u'\u039A\u03BF\u03B9\u03BD\u03C9\u03BD\u03AF\u03B1', - 'http://www.newsbeast.gr/feeds/society'), - (u'\u03A0\u03B5\u03C1\u03B9\u03B2\u03AC\u03BB\u03BB\u03BF\u03BD', - 'http://www.newsbeast.gr/feeds/environment'), - (u'Media', 'http://www.newsbeast.gr/feeds/media'), - (u'\u0394\u03B9\u03B1\u03C3\u03BA\u03AD\u03B4\u03B1\u03C3\u03B7', - 'http://www.newsbeast.gr/feeds/entertainment'), - (u'Lifestyle', 'http://www.newsbeast.gr/feeds/lifestyle'), - (u'\u03A4\u03B5\u03C7\u03BD\u03BF\u03BB\u03BF\u03B3\u03AF\u03B1', - 'http://www.newsbeast.gr/feeds/technology'), - (u'\u0391\u03C5\u03C4\u03BF\u03BA\u03AF\u03BD\u03B7\u03C4\u03BF', - 'http://www.newsbeast.gr/feeds/car'), - (u'\u0393\u03C5\u03BD\u03B1\u03AF\u03BA\u03B1', - 'http://www.newsbeast.gr/feeds/woman'), - (u'\u03A5\u03B3\u03B5\u03AF\u03B1', 'http://www.newsbeast.gr/feeds/health'), - (u'\u03A0\u03BF\u03BB\u03B9\u03C4\u03B9\u03C3\u03BC\u03CC\u03C2', - 'http://www.newsbeast.gr/feeds/culture'), - (u'\u038C,\u03C4\u03B9 \u03BD\u03B1 \u03BD\u03B1\u03B9', - 'http://www.newsbeast.gr/feeds/weird') - ] diff --git a/recipes/newsmoldova.recipe b/recipes/newsmoldova.recipe deleted file mode 100644 index de293ad2d7..0000000000 --- a/recipes/newsmoldova.recipe +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = u'2011, Silviu Cotoar\u0103' -''' -newsmoldova.md -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NewsMoldova(BasicNewsRecipe): - title = u'Agen\u0163ia de \u015ftiri Moldova' - language = 'ro' - __author__ = u'Silviu Cotoar\u0103' - description = u'Agen\u0163ia de \u015ftiri Moldova' - publisher = 'Moldova' - category = 'Ziare,Stiri,Moldova' - oldest_article = 5 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'utf-8' - remove_javascript = True - cover_url = 'http://www.newsmoldova.md/i/logo_top_md.gif' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - keep_only_tags = [dict(name='div', attrs={'class': 'main-article-index article'}) - ] - - remove_tags = [ - dict(name='div', attrs={'id': 'actions'}), dict( - name='li', attrs={'class': 'invisible'}) - ] - - remove_tags_after = [ - dict(name='div', attrs={'id': 'actions'}) - ] - - feeds = [(u'\u0218tiri', u'http://newsmoldova.md/export/rss2/archive/index.xml')] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/newsobs.recipe b/recipes/newsobs.recipe deleted file mode 100644 index d8616cb9bc..0000000000 --- a/recipes/newsobs.recipe +++ /dev/null @@ -1,30 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class NewsAndObserver(BasicNewsRecipe): - title = u'News And Observer' - language = 'en' - __author__ = 'Krittika Goyal' - oldest_article = 1 # days - max_articles_per_feed = 25 - - no_stylesheets = True - remove_tags_before = dict(name='div', attrs={'id': 'story_header'}) - remove_tags_after = dict(name='div', attrs={'id': 'shirttail'}) - remove_tags = [ - dict(name='iframe'), - dict(name='div', attrs={'class': ['contained_round', 'contained']}), - dict(name='div', attrs={'id': ['story_tools', 'toolbox', 'shirttail', 'comment_widget', - 'stories_widget', 'classifieds_widget', 'most_popular_widget', 'footer']}), - dict(name='ul', attrs={'id': 'story_tabs'}), - ] - - feeds = [ - ('Cover', 'http://www.newsobserver.com/100/index.rss'), - ('News', 'http://www.newsobserver.com/102/index.rss'), - ('Politics', 'http://www.newsobserver.com/105/index.rss'), - ('Business', 'http://www.newsobserver.com/104/index.rss'), - ('Sports', 'http://www.newsobserver.com/103/index.rss'), - ('College Sports', 'http://www.newsobserver.com/119/index.rss'), - ('Lifestyles', 'http://www.newsobserver.com/106/index.rss'), - ('Editorials', 'http://www.newsobserver.com/158/index.rss')] diff --git a/recipes/ngz.recipe b/recipes/ngz.recipe deleted file mode 100644 index 7b9c596a70..0000000000 --- a/recipes/ngz.recipe +++ /dev/null @@ -1,30 +0,0 @@ -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class AdvancedUserRecipe1303841067(BasicNewsRecipe): - - title = u'NGZ-online' - __author__ = 'schuster' - remove_tags_before = dict(id='bu') - remove_tags_after = dict(id='noblock') - remove_tags = [dict(attrs={'class': ['articleTools', 'post-tools', 'side_tool', 'nextArticleLink clearfix', 'liketext']}), - dict(id=['footer', 'toolsRight', 'articleInline', 'navigation', 'archive', 'side_search', 'blog_sidebar', 'side_tool', 'side_index', 'Verlinken', 'vorheriger', 'LESERKOMMENTARE', 'bei facebook', 'bei twitter', 'Schreiben Sie jetzt Ihre Meinung:', 'Thema', 'Ihr Beitrag', 'Ihr Name', 'Ich möchte über weitere Lesermeinungen zu diesem Artikel per E-Mail informiert werden.', 'banneroben', 'bannerrechts', 'inserieren', 'stellen', 'auto', 'immobilien', 'kleinanzeige', 'tiere', 'ferienwohnung', 'NGZ Card', 'Mediengruppe RP', 'Werben', 'Newsletter', 'Wetter', 'RSS', 'Abo', 'Anzeigen', 'Redaktion', 'Schulprojekte', 'Gast', 'Mein NGZ', 'Nachrichten', 'Sport', 'Wirtschaft', 'Stadt-Infos', 'Bilderserien', 'Bookmarken', 'del.icio.us', 'Mister Wong', 'YiGG', 'Webnews', 'Shortnews', 'Twitter', 'Newsider', 'Facebook', 'StudiVZ/MeinVZ', 'Versenden', 'Drucken']), # noqa - dict(name=['script', 'noscript', 'style'])] - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - language = 'de' - remove_javascript = True - cover_url = 'http://www.rhein-kreis-neuss-macht-sport.de/sport/includes/bilder/ngz_logo.jpg' - - def print_version(self, url): - return url + '?ot=de.circit.rpo.PopupPageLayout.ot' - feeds = [ - (u'Grevenbroich', u'http://www.ngz-online.de/app/feed/rss/grevenbroich'), - (u'Kreis Neuss', u'http://www.ngz-online.de/app/feed/rss/rheinkreisneuss'), - (u'Dormagen', u'http://www.ngz-online.de/app/feed/rss/dormagen'), - (u'J\xfcchen', u'http://www.ngz-online.de/app/feed/rss/juechen'), - (u'Rommerskirchen', u'http://www.ngz-online.de/app/feed/rss/rommerskirchen') - - ] diff --git a/recipes/nieuws_be.recipe b/recipes/nieuws_be.recipe deleted file mode 100644 index 4571883cfe..0000000000 --- a/recipes/nieuws_be.recipe +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env python - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NieuwsBE(BasicNewsRecipe): - title = u'Nieuws.be' - __author__ = u'erkfuizfeuadjfjzefzfuzeff' - description = u'News from Belgium in Dutch' - oldest_article = 7 - language = 'nl_BE' - - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - - keep_only_tags = [ - dict(name='title'), dict(name='h2'), - dict(name='div', attrs={'class': 'ArticleDiv'}) - ] - - remove_tags = [] - - feeds = [ - (u'Binnenland', u'http://www.nieuws.be/rss/nieuws/binnenland.rss'), - (u'Regio Algemeen', u'http://www.nieuws.be/rss/nieuws/regio.rss'), - (u'Buitenland', u'http://www.nieuws.be/rss/nieuws/buitenland.rss'), - (u'Sport', u'http://www.nieuws.be/rss/nieuws/sport.rss'), - (u'Fun and Famous', u'http://www.nieuws.be/rss/nieuws/fun_en_famous.rss'), - (u'Politiek', u'http://www.nieuws.be/rss/nieuws/politiek.rss'), - (u'Economie', u'http://www.nieuws.be/rss/nieuws/economie.rss'), ( - u'Verkeer en Vervoer', - u'http://www.nieuws.be/rss/nieuws/verkeer_en_vervoer.rss' - ), (u'Wetenschap', u'http://www.nieuws.be/rss/nieuws/wetenschap.rss'), ( - u'Kunst en Cultuur', - u'http://www.nieuws.be/rss/nieuws/kunst_en_cultuur.rss' - ), (u'I-Catchers', u'http://www.nieuws.be/rss/nieuws/i-catchers.rss'), ( - u'Gezondheid & Lifestyle', - u'http://www.nieuws.be/rss/nieuws/gezondheid_en_lifestyle.rss' - ), (u'Blogs', u'http://www.nieuws.be/rss/nieuws/blogs.rss'), ( - u'Regio Antwerpen', - u'http://www.nieuws.be/rss/nieuws/antwerpen_(provincie).rss' - ), - (u'Regio Limburg', u'http://www.nieuws.be/rss/nieuws/limburg_(Belgie).rss'), - ( - u'Regio Oost-Vlaanderen', - u'http://www.nieuws.be/rss/nieuws/oost-vlaanderen.rss' - ), ( - u'Regio West-Vlaanderen', - u'http://www.nieuws.be/rss/nieuws/west-vlaanderen.rss' - ), ( - u'Regio Vlaams-Brabant', - u'http://www.nieuws.be/rss/nieuws/vlaams-brabant.rss' - ), ( - u'Regio Brussel', - u'http://www.nieuws.be/rss/nieuws/Brussel_(Groot-Brussel).rss' - ), (u'Wallonië', u'http://www.nieuws.be/rss/nieuws/Wallonie.rss'), - (u'Snelnieuws', u'http://www.nieuws.be/rss/nieuws/snelnieuws.rss') - ] diff --git a/recipes/nightflier.recipe b/recipes/nightflier.recipe deleted file mode 100644 index b0da8454b5..0000000000 --- a/recipes/nightflier.recipe +++ /dev/null @@ -1,44 +0,0 @@ - -__license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' -''' -nightfliersbookspace.blogspot.com -''' - -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NightfliersBookspace(BasicNewsRecipe): - title = "Nightflier's Bookspace" - __author__ = 'Darko Miletic' - description = 'SF, Fantasy, Books, Knjige' - oldest_article = 35 - max_articles_per_feed = 100 - language = 'sr' - encoding = 'utf-8' - no_stylesheets = True - use_embedded_content = True - publication_type = 'blog' - cover_url = '' - extra_css = """ - @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)} - body{font-family: "Trebuchet MS",Trebuchet,Verdana,sans1,sans-serif} - .article_description{font-family: sans1, sans-serif} - img{margin-bottom: 0.8em; border: 1px solid #333333; padding: 4px } - """ - - conversion_options = { - 'comment': description, 'tags': 'SF, fantasy, prevod, blog, Srbija', 'publisher': 'Ivan Jovanovic', 'language': language - } - - preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] - - feeds = [ - (u'Posts', u'http://nightfliersbookspace.blogspot.com/feeds/posts/default')] - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - return self.adeify_images(soup) diff --git a/recipes/nikkei_free.recipe b/recipes/nikkei_free.recipe deleted file mode 100644 index 8008927fe7..0000000000 --- a/recipes/nikkei_free.recipe +++ /dev/null @@ -1,78 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, Hiroshi Miura ' -''' -www.nikkei.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NikkeiNet(BasicNewsRecipe): - title = u'\u65e5\u7d4c\u65b0\u805e\u96fb\u5b50\u7248(Free, MAX)' - __author__ = 'Hiroshi Miura' - description = 'News and current market affairs from Japan, no subscription and getting max feed.' - cover_url = 'http://parts.nikkei.com/parts/ds/images/common/logo_r1.svg' - masthead_url = 'http://parts.nikkei.com/parts/ds/images/common/logo_r1.svg' - no_stylesheets = True - remove_attributes = ['style'] - oldest_article = 2 - max_articles_per_feed = 20 - language = 'ja' - - feeds = [ - (u'\u65e5\u7d4c\u4f01\u696d', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=sangyo'), - (u'\u65e5\u7d4c\u88fd\u54c1', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=newpro'), - (u'internet', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=internet'), - (u'\u653f\u6cbb', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=seiji'), - (u'\u8ca1\u52d9', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=zaimu'), - (u'\u7d4c\u6e08', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=keizai'), - (u'\u56fd\u969b', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=kaigai'), - (u'\u79d1\u5b66', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=kagaku'), - (u'\u30de\u30fc\u30b1\u30c3\u30c8', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=market'), - (u'\u304f\u3089\u3057', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=kurashi'), - (u'\u30b9\u30dd\u30fc\u30c4', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=sports'), - (u'\u793e\u4f1a', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=shakai'), - (u'\u30a8\u30b3', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=eco'), - (u'\u5065\u5eb7', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=kenkou'), - (u'\u96c7\u7528', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=koyou'), - (u'\u6559\u80b2', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=kyouiku'), - (u'\u304a\u304f\u3084\u307f', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=okuyami'), - (u'\u4eba\u4e8b', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=zinzi'), - (u'\u7279\u96c6', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=special'), - (u'\u5730\u57df\u30cb\u30e5\u30fc\u30b9', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=local'), - (u'\u7d71\u8a08\u30fb\u767d\u66f8', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=report'), - (u'\u30e9\u30f3\u30ad\u30f3\u30b0', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=ranking'), - (u'\u4f1a\u898b', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=interview'), - (u'\u793e\u8aac\u30fb\u6625\u79cb', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=shasetsu'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u30d7\u30ed\u91ce\u7403', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=baseball'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u5927\u30ea\u30fc\u30b0', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=mlb'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u30b5\u30c3\u30ab\u30fc', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=soccer'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u30b4\u30eb\u30d5', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=golf'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u76f8\u64b2', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=sumou'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u7af6\u99ac', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=keiba'), - (u'\u8abf\u67fb\u30fb\u30a2\u30f3\u30b1\u30fc\u30c8', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=research') - ] - - keep_only_tags = [dict(id="CONTENTS_MAIN")] - remove_tags = [ - dict(name="form"), - {'class': "cmn-hide"}, - ] - remove_tags_after = {'class': "cmn-pr_list"} diff --git a/recipes/nikkei_sub.recipe b/recipes/nikkei_sub.recipe deleted file mode 100644 index ed098792f5..0000000000 --- a/recipes/nikkei_sub.recipe +++ /dev/null @@ -1,143 +0,0 @@ -import re - -import mechanize -from calibre.ptempfile import PersistentTemporaryFile -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class NikkeiNet_subscription(BasicNewsRecipe): - title = u'\u65e5\u7d4c\u65b0\u805e\u96fb\u5b50\u7248(MAX)' - __author__ = 'Hiroshi Miura' - description = 'News and current market affairs from Japan, gather MAX articles' - needs_subscription = True - oldest_article = 2 - max_articles_per_feed = 10 - language = 'ja' - remove_javascript = False - temp_files = [] - - remove_tags_before = {'class': "cmn-section cmn-indent"} - remove_tags = [ - {'class': "JSID_basePageMove JSID_baseAsyncSubmit cmn-form_area JSID_optForm_utoken"}, - {'class': "cmn-article_keyword cmn-clearfix"}, - {'class': "cmn-print_headline cmn-clearfix"}, - ] - remove_tags_after = {'class': "cmn-pr_list"} - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - - cj = mechanize.LWPCookieJar() - br.set_cookiejar(cj) - - # br.set_debug_http(True) - # br.set_debug_redirects(True) - # br.set_debug_responses(True) - - if self.username is not None and self.password is not None: - # print "----------------------------get login form--------------------------------------------" - # open login form - br.open('https://id.nikkei.com/lounge/nl/base/LA0010.seam') - response = br.response() - # print "----------------------------get login form---------------------------------------------" - # print "----------------------------set login form---------------------------------------------" - # remove disabled input which brings error on mechanize - response.set_data(response.get_data().replace( - "", " -->")) - br.set_response(response) - br.select_form(name='LA0010Form01') - br['LA0010Form01:LA0010Email'] = self.username - br['LA0010Form01:LA0010Password'] = self.password - br.form.find_control(id='LA0010Form01:LA0010AutoLoginOn', type="checkbox").get( - nr=0).selected = True - br.submit() - br.response() - # print "----------------------------send login form---------------------------------------------" - # print "----------------------------open news main page-----------------------------------------" - # open news site - br.open('http://www.nikkei.com/') - br.response() - # print "----------------------------www.nikkei.com BODY --------------------------------------" - # print response2.get_data() - # print "-------------------------^^-got auto redirect form----^^--------------------------------" - # forced redirect in default - br.select_form(nr=0) - br.submit() - response3 = br.response() - # return some cookie which should be set by Javascript - # print response3.geturl() - raw = response3.get_data() - # print "---------------------------response to form --------------------------------------------" - # grab cookie from JS and set it - redirectflag = re.search( - r"var checkValue = '(\d+)';", raw, re.M).group(1) - br.select_form(nr=0) - - self.temp_files.append(PersistentTemporaryFile('_fa.html')) - self.temp_files[-1].write("#LWP-Cookies-2.0\n") - - self.temp_files[-1].write( - "Set-Cookie3: Cookie-dummy=Cookie-value; domain=\".nikkei.com\"; path=\"/\"; path_spec; secure; expires=\"2029-12-21 05:07:59Z\"; version=0\n") - self.temp_files[-1].write("Set-Cookie3: redirectFlag=" + redirectflag + - "; domain=\".nikkei.com\"; path=\"/\"; path_spec; secure; expires=\"2029-12-21 05:07:59Z\"; version=0\n") - self.temp_files[-1].close() - cj.load(self.temp_files[-1].name) - - br.submit() - - # br.set_debug_http(False) - # br.set_debug_redirects(False) - # br.set_debug_responses(False) - return br - - feeds = [(u'\u65e5\u7d4c\u4f01\u696d', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=sangyo'), - (u'\u65e5\u7d4c\u88fd\u54c1', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=newpro'), - (u'internet', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=internet'), - (u'\u653f\u6cbb', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=seiji'), - (u'\u8ca1\u52d9', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=zaimu'), - (u'\u7d4c\u6e08', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=keizai'), - (u'\u56fd\u969b', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=kaigai'), - (u'\u79d1\u5b66', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=kagaku'), - (u'\u30de\u30fc\u30b1\u30c3\u30c8', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=market'), - (u'\u304f\u3089\u3057', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=kurashi'), - (u'\u30b9\u30dd\u30fc\u30c4', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=sports'), - (u'\u793e\u4f1a', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=shakai'), - (u'\u30a8\u30b3', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=eco'), - (u'\u5065\u5eb7', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=kenkou'), - (u'\u96c7\u7528', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=koyou'), - (u'\u6559\u80b2', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=kyouiku'), - (u'\u304a\u304f\u3084\u307f', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=okuyami'), - (u'\u4eba\u4e8b', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=zinzi'), - (u'\u7279\u96c6', u'http://www.zou3.net/php/rss/nikkei2rss.php?head=special'), - (u'\u5730\u57df\u30cb\u30e5\u30fc\u30b9', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=local'), - (u'\u7d71\u8a08\u30fb\u767d\u66f8', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=report'), - (u'\u30e9\u30f3\u30ad\u30f3\u30b0', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=ranking'), - (u'\u4f1a\u898b', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=interview'), - (u'\u793e\u8aac\u30fb\u6625\u79cb', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=shasetsu'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u30d7\u30ed\u91ce\u7403', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=baseball'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u5927\u30ea\u30fc\u30b0', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=mlb'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u30b5\u30c3\u30ab\u30fc', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=soccer'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u30b4\u30eb\u30d5', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=golf'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u76f8\u64b2', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=sumou'), - (u'\u30b9\u30dd\u30fc\u30c4\uff1a\u7af6\u99ac', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=keiba'), - (u'\u8abf\u67fb\u30fb\u30a2\u30f3\u30b1\u30fc\u30c8', - u'http://www.zou3.net/php/rss/nikkei2rss.php?head=research') - ] diff --git a/recipes/nin.recipe b/recipes/nin.recipe deleted file mode 100644 index 9727c1296a..0000000000 --- a/recipes/nin.recipe +++ /dev/null @@ -1,78 +0,0 @@ - -__license__ = 'GPL v3' -__copyright__ = '2008-2012, Darko Miletic ' -''' -www.nin.co.rs -''' - -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Nin(BasicNewsRecipe): - title = 'NIN online' - __author__ = 'Darko Miletic' - description = 'Nedeljne Informativne Novine' - publisher = 'NIN d.o.o. - Ringier d.o.o.' - category = 'news, politics, Serbia' - no_stylesheets = True - oldest_article = 180 - encoding = 'utf-8' - needs_subscription = True - remove_empty_feeds = True - auto_cleanup = False - PREFIX = 'http://www.nin.co.rs' - INDEX = PREFIX + '/?change_lang=ls' - use_embedded_content = False - language = 'sr' - publication_type = 'magazine' - masthead_url = 'http://www.nin.co.rs/img/logo_print.jpg' - extra_css = """ - @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)} - body{font-family: Verdana, Lucida, sans1, sans-serif} - .article_description{font-family: Verdana, Lucida, sans1, sans-serif} - .artTitle{font-size: x-large; font-weight: bold; color: #900} - .izjava{font-size: x-large; font-weight: bold} - .columnhead{font-size: small; font-weight: bold;} - img{margin-top:0.5em; margin-bottom: 0.7em; display: block} - b{margin-top: 1em} - """ - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language, 'linearize_tables': True - } - - preprocess_regexps = [ - (re.compile(r'
.*', re.DOTALL | re.IGNORECASE), - lambda match: ''), (re.compile(u'\u0110'), lambda match: u'\u00D0') - ] - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - if self.username is not None and self.password is not None: - br.open(self.INDEX) - br.select_form(name='form1') - br['login_name'] = self.username - br['login_password'] = self.password - br.submit() - return br - - remove_tags_before = dict(name='div', attrs={'class': 'titleFont'}) - remove_tags_after = dict(name='div', attrs={'class': 'standardFont'}) - remove_tags = [dict(name=['object', 'link', 'iframe', 'meta', 'base'])] - remove_attributes = ['border', 'background', - 'height', 'width', 'align', 'valign'] - - def get_cover_url(self): - cover_url = None - soup = self.index_to_soup(self.INDEX) - cover = soup.find('img', attrs={'class': 'issueImg'}) - if cover: - return self.PREFIX + cover['src'] - return cover_url - - feeds = [(u'NIN Online', u'http://www.nin.co.rs/misc/rss.php?feed=RSS2.0')] - - def print_version(self, url): - return url + '&pf=1' diff --git a/recipes/njp.recipe b/recipes/njp.recipe deleted file mode 100644 index 37f3d0bb2d..0000000000 --- a/recipes/njp.recipe +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -## -# Title: New Journal of Physics -# License: GNU General Public License v3 - http://www.gnu.org/copyleft/gpl.html -# Copyright: Chema Cort\xe9s -## -# Written: Jan 2011 -# Last Edited: Jan 2012 - by Kiavash -## - -__license__ = 'GNU General Public License v3 - http://www.gnu.org/copyleft/gpl.html' -__copyright__ = u'Chema Cort\xe9s - 2011-01-05' -__version__ = 'v0.5.0' -__date__ = '2012-01-13' - -''' -njp.org -''' - -import re # Import the regular expressions module. - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NewJournalOfPhysics(BasicNewsRecipe): - title = u'New Journal of Physics' - __author__ = u'Chema Cort\xe9s' - description = u'The open-access journal for physics' - publisher = u'IOP (Institute of Physics)' - category = 'physics, journal, science' - language = 'en' - - feeds = [(u'Latest Papers', u'http://iopscience.iop.org/1367-2630/?rss=1')] - - cover_url = 'http://images.iop.org/journals_icons/Info/1367-2630/cover.gif' - - oldest_article = 7 - max_articles_per_feed = 30 - timeout = 30 - - no_stylesheets = True - use_embedded_content = False - remove_javascript = True - remove_empty_feeds = True - asciiize = True # Converts all none ascii characters to their ascii equivalents - - keep_only_tags = [ - dict(id=['articleEvoContainer']), - ] - - remove_tags = [ - # Removes Shoow Affiliations - dict(name='div', attrs={'class': 'affiliations'}), - # Removes Tags and PDF export - dict(name='div', attrs={'class': 'abst-icon-links'}), - dict(name='p', attrs={'class': 'studyimage'}), # remove Studay image - # remove Export to PowerPoint Slide - dict(name='a', attrs={'class': 'icon powerpoint'}), - dict(name='a', attrs={'title': 'CrossRef'}), # remove CrossRef icon - dict(name='a', attrs={'title': 'PubMed'}), # remove PubMed icon - dict(name='a', attrs={'e4f5426941': 'true'}), # remove cross ref image - dict(name='img', attrs={'src': ''}), # remove empty image - dict(name='a', attrs={'class': 'closeChap'}), # remove 'Close' - # remove Top breadcrumbs - dict(name='ul', attrs={'class': 'breadcrumbs'}), - ] - - extra_css = 'body { font-family: verdana, helvetica, sans-serif; } \ - .introduction, .first { font-weight: bold; } \ - .cross-head { font-weight: bold; font-size: 125%; } \ - .cap, .caption { display: block; font-size: 80%; font-style: italic; } \ - .cap, .caption, .caption img, .caption span { display: block; margin: 5px auto; } \ - .byl, .byd, .byline img, .byline-name, .byline-title, .author-name, .author-position, \ - .correspondent-portrait img, .byline-lead-in, .name, .bbc-role { display: block; \ - font-size: 80%; font-style: italic; margin: 1px auto; } \ - .story-date, .published { font-size: 80%; } \ - table { width: 100%; } \ - td img { display: block; margin: 5px auto; } \ - ul { padding-top: 10px; } \ - ol { padding-top: 10px; } \ - li { padding-top: 5px; padding-bottom: 5px; } \ - h1 { font-size: 175%; font-weight: bold; } \ - h2 { font-size: 150%; font-weight: bold; } \ - h3 { font-size: 125%; font-weight: bold; } \ - h4, h5, h6 { font-size: 100%; font-weight: bold; }' - - # Remove the line breaks. - preprocess_regexps = [(re.compile(r'', re.IGNORECASE), lambda m: ''), - (re.compile(r'', - re.IGNORECASE), lambda m: ''), - ] - - def print_version(self, url): - return url + "/article" diff --git a/recipes/noaa.recipe b/recipes/noaa.recipe deleted file mode 100644 index a04fc2c774..0000000000 --- a/recipes/noaa.recipe +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -noaa.com -''' - -from calibre.ebooks.BeautifulSoup import Tag -from calibre.web.feeds.news import BasicNewsRecipe - - -def new_tag(soup, name, attrs=()): - impl = getattr(soup, 'new_tag', None) - if impl is not None: - return impl(name, attrs=dict(attrs)) - return Tag(soup, name, attrs=attrs or None) - - -class NOAA(BasicNewsRecipe): - title = 'NOAA Online' - __author__ = 'Darko Miletic' - description = 'NOAA' - publisher = 'NOAA' - category = 'news, science, US, ocean' - oldest_article = 15 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - simultaneous_downloads = 1 - encoding = 'utf-8' - lang = 'en' - language = 'en' - - remove_tags = [dict(name=['embed', 'object']), dict(name='div', attrs={'id': 'leftNav'}), dict(name='div', attrs={'id': 'topNav'}), dict(name='div', attrs={'class': 'feedback_box'}), dict(name='div', attrs={'id': 'midBlock'}), dict(name='div', attrs={'id': 'footer'}) ] # noqa - - feeds = [(u'NOAA articles', u'http://www.noaa.gov/rss/noaarss.xml')] - - def preprocess_html(self, soup): - soup.html['xml:lang'] = self.lang - soup.html['lang'] = self.lang - mlang = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Language"), ("content", self.lang)]) - mcharset = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Type"), ("content", "text/html; charset=UTF-8")]) - soup.head.insert(0, mlang) - soup.head.insert(1, mcharset) - return self.adeify_images(soup) diff --git a/recipes/noerrebronordvestbladet_dk.recipe b/recipes/noerrebronordvestbladet_dk.recipe deleted file mode 100644 index cc26834a44..0000000000 --- a/recipes/noerrebronordvestbladet_dk.recipe +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -# https://manual.calibre-ebook.com/news_recipe.html -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - -''' -Nørrebro Nordvest bladet -''' - - -class Minby_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'Nørrebro Nordvest bladet' - - category = 'newspaper, news, localnews, sport, culture, Denmark' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Nørrebro Nordvest bladet', 'http://minby.dk/noerrebronordvest-bladet/feed/'), - ('Kommentarer til Nørrebro Nordvest bladet', 'http://minby.dk/noerrebronordvest-bladet/comments/feed/'), - - ] - diff --git a/recipes/non_leggerlo.recipe b/recipes/non_leggerlo.recipe deleted file mode 100644 index af23efb58a..0000000000 --- a/recipes/non_leggerlo.recipe +++ /dev/null @@ -1,20 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1335362999(BasicNewsRecipe): - title = u'Non leggerlo' - oldest_article = 7 - max_articles_per_feed = 100 - auto_cleanup = False - keep_only_tags = [ - dict(name='div', attrs={'class': 'post hentry'}) - ] - feeds = [ - (u'Non leggerlo', u'http://nonleggerlo.blogspot.com/feeds/posts/default')] - description = 'An Italian satirical blog' - language = 'it' - __author__ = 'faber1971' - - -__version__ = 'v1.0' -__date__ = '24, April 2012' diff --git a/recipes/norddjurslokalavisen_dk.recipe b/recipes/norddjurslokalavisen_dk.recipe deleted file mode 100644 index 40ace922da..0000000000 --- a/recipes/norddjurslokalavisen_dk.recipe +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -# https://manual.calibre-ebook.com/news_recipe.html -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - -''' -Lokalavisen Norddjurs -''' - - -class NorddjursLokalavisen_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'Lokalavisen Norddjurs' - description = 'Lokale og regionale nyheder, sport, kultur fra det nordlige Djursland på norddjurs.lokalavisen.dk' - category = 'newspaper, news, localnews, sport, culture, Denmark' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Seneste nyt fra Lokalavisen Norddjurs', 'http://norddjurs.lokalavisen.dk/section/senestenytrss'), - ('Seneste lokale nyheder fra Lokalavisen Norddjurs', 'http://norddjurs.lokalavisen.dk/section/senestelokalenyhederrss'), - ('Seneste sport fra Lokalavisen Norddjurs', 'http://norddjurs.lokalavisen.dk/section/senestesportrss'), - ('Seneste 112 nyheder fra Lokalavisen Norddjurs', 'http://norddjurs.lokalavisen.dk/section/seneste112rss'), - ('Seneste kultur nyheder fra Lokalavisen Norddjurs', 'http://norddjurs.lokalavisen.dk/section/senestekulturrss'), - ('Seneste læserbreve fra Lokalavisen Norddjurs', 'http://norddjurs.lokalavisen.dk/section/senestelaeserbreverss'), - - ] - diff --git a/recipes/nortecastilla.recipe b/recipes/nortecastilla.recipe deleted file mode 100644 index 0845d54486..0000000000 --- a/recipes/nortecastilla.recipe +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__author__ = 'Lorenzo Vigentini' -__copyright__ = '2009, Lorenzo Vigentini ' -__description__ = 'Daily newspaper from Spain' -__version__ = 'v1.01' -__date__ = '14, January 2010' - -''' -http://www.nortecastilla.es/ -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class norteCastilla(BasicNewsRecipe): - author = 'Lorenzo Vigentini' - description = 'Daily newspaper from Spain' - - cover_url = 'http://www.nortecastilla.es/img/rd.logo_nortecastilla.png' - title = u'NorteCastilla ' - publisher = 'Vocento' - category = 'News, politics, culture, economy, general interest' - - language = 'es' - timefmt = '[%a, %d %b, %Y]' - - oldest_article = 1 - max_articles_per_feed = 25 - - use_embedded_content = False - recursion = 10 - - remove_javascript = True - no_stylesheets = True - - keep_only_tags = [ - dict(name='div', attrs={'class': ['articulo', 'photo']}) - ] - - remove_tags = [ - dict(name='div', attrs={ - 'class': ['contenido_form_articulo', 'colC_articulo', 'publiEspecial']}), - dict(name='div', attrs={ - 'class': ['tags_relacionados', 'form_art form_opina', 'adds', 'comentarios']}), - dict(name='span', attrs={'class': 'contenido_form_articulo'}), - dict(name='div', attrs={'id': 'publi1_noxtrum'}), - dict(name='a', attrs={'class': ['nav_fgH_ant', 'nav_fgH_sig']}) - ] - - feeds = [ - (u'Ultima hora', u'http://www.nortecastilla.es/rss/feeds/ultima.xml'), - (u'Portada', u'http://www.nortecastilla.es/portada.xml'), - (u'Espana', u'http://www.nortecastilla.es/img/rss_descarga.gif'), - (u'Mundo', u'http://www.nortecastilla.es/rss/feeds/mundo.xml'), - (u'Economia', u'http://www.nortecastilla.es/rss/feeds/economia.xml'), - (u'Deportes', u'http://www.nortecastilla.es/rss/feeds/deportes.xml'), - (u'Vida y ocio', u'http://www.nortecastilla.es/rss/feeds/ocio.xml'), - (u'Cultura', u'http://www.nortecastilla.es/rss/feeds/cultura.xml'), - (u'Television', - u'http://www.nortecastilla.es/rss/feeds/television.xml'), - (u'Contraportada', - u'http://www.nortecastilla.es/rss/feeds/contraportada.xml') - ] - - extra_css = ''' - .articulo{clear:both; padding:0 2px 0 6px} - .art_head{clear:both;} - .articulo .overhead{ color:#C00; font-size:10px; text-transform:uppercase;} - .articulo .headline{ color:#036; font-size:36px; font-weight:normal;} - .articulo .headline a,.articulo .headline a:hover{ color:#036; cursor:default; text-decoration:none;} - .articulo .subhead{ color:#686868; font-size:16px; font-weight:normal; margin:0 0 5px 0} - .articulo .byline a{ color:#8E8E8E;} - .articulo .barhead{ font-size:14px;font-weight:normal; padding:0 0 15px 0} - .articulo .text{ font-size:14px;font-weight:normal;} - .articulo .text .p{ line-height:18px; padding:0 0 15px 0} - .articulo .text .p a{ text-decoration:underline; color:#036} - .articulo .text .p a:hover{ text-decoration:none; color:#cc0000} - .articulo .pbox{text-align:left; margin:0 auto 0 10px; text-align:left;} - .articulo .photo-alt1,.colC_articulo .photo{text-align:center; margin:0 auto; background-color:#F2F2F2;} - .articulo .photo-alt1 img,.colC_articulo .photo img{text-align:center; margin:0 auto;} - .articulo .photo-caption a{ color:#666;} - .fotogaleriasH .photo {background-color:#DCDCDC;margin:0 auto;padding:5px 0 0;text-align:center;} - .fotogaleriasH .photo img {display: block; margin:0 auto;text-align:center;} - ''' diff --git a/recipes/nos_nl.recipe b/recipes/nos_nl.recipe deleted file mode 100644 index 4a4f377b77..0000000000 --- a/recipes/nos_nl.recipe +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python - -from calibre.web.feeds.news import BasicNewsRecipe - - -class nosnl(BasicNewsRecipe): - title = u'nos.nl' - __author__ = u'erkfuizfeuadjfjzefzfuzeff' - description = u'News from the Netherlands in Dutch' - oldest_article = 7 - language = 'nl' - - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - - keep_only_tags = [ - dict(name='div', attrs={'class': 'art_box2'}), - dict(name='h1'), - dict(name='img'), - dict(name='div', attrs={'class': 'article_textwrap'}), - ] - - remove_tags = [ - dict(name='img', attrs={'class': 'weather-icon__image js-weather-icon'}), - ] - - feeds = [(u'Algemeen', u'http://feeds.nos.nl/nosnieuwsalgemeen'), - (u'Binnenland', u'http://feeds.nos.nl/nosnieuwsbinnenland'), - (u'Buitenland', u'http://feeds.nos.nl/nosnieuwsbuitenland'), - (u'Politiek', u'http://feeds.nos.nl/nosnieuwspolitiek'), - (u'Economie', u'http://feeds.nos.nl/nosnieuwseconomie'), - (u'Opmerkelijk', u'feeds.nos.nl/nosnieuwsopmerkelijk'), - (u'Koningshuis', u'http://feeds.nos.nl/nosnieuwskoningshuis'), - (u'Tech', u'http://feeds.nos.nl/nosnieuwstech'), - (u'Sport', u'http://feeds.nos.nl/nossportalgemeen'), - (u'Sport voetbal', u'http://feeds.nos.nl/nosvoetbal'), - (u'Sport wielrennen', u'http://feeds.nos.nl/nossportwielrennen'), - (u'Sport schaatsen', u'http://feeds.nos.nl/nossportschaatsen'), - (u'Sport tennis', u'http://feeds.nos.nl/nossporttennis'), - (u'Nieuwsuur', u'http://feeds.nos.nl/nieuwsuuralgemeen'), - (u'NOS op 3', u'http://feeds.feedburner.com/nosop3'), - (u'Jeugdjournaal', u'http://feeds.feedburner.com/jeugdjournaal')] diff --git a/recipes/novaya_media.recipe b/recipes/novaya_media.recipe deleted file mode 100644 index c66bdcacf5..0000000000 --- a/recipes/novaya_media.recipe +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NovayaGazeta(BasicNewsRecipe): - title = '\u0421\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E' - __author__ = 'bugmen00t' - description = '\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0439 \u043A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440 \u043A\u043E\u043D\u0442\u0435\u043D\u0442\u0430, \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0439 \u0440\u043E\u0441\u0441\u0438\u0439\u0441\u043A\u043E\u0439 \u0440\u0435\u0434\u0430\u043A\u0446\u0438\u0435\u0439 \u00AB\u041D\u043E\u0432\u043E\u0439 \u0433\u0430\u0437\u0435\u0442\u044B\u00BB, \u0434\u0435\u0442\u0430\u043B\u0438 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u043A\u0430\u0436\u0434\u044B\u0439 \u0438\u0437 \u0447\u0438\u0442\u0430\u0442\u0435\u043B\u0435\u0439 \u0441\u043E\u0431\u0438\u0440\u0430\u0435\u0442 \u0434\u043B\u044F \u0441\u0435\u0431\u044F \u0441\u0430\u043C. \u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440 \u2014 \u044D\u0442\u043E \u043D\u043E\u0432\u044B\u0439 \u0441\u043F\u043E\u0441\u043E\u0431 \u0447\u0438\u0442\u0430\u0442\u044C \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B \u0436\u0443\u0440\u043D\u0430\u043B\u0438\u0441\u0442\u043E\u0432 \u00AB\u041D\u043E\u0432\u043E\u0439 \u0433\u0430\u0437\u0435\u0442\u044B\u00BB \u0438 \u0432\u0441\u0435 \u043E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u043F\u043E\u0442\u043E\u043A\u0438 \u043A\u043E\u043D\u0442\u0435\u043D\u0442\u0430: \u043B\u044E\u0431\u044B\u0435 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u044B, Telegram-\u043A\u0430\u043D\u0430\u043B\u044B, Youtube-\u043A\u0430\u043D\u0430\u043B\u044B.' # noqa - publisher = '\u0420\u0435\u0434\u0430\u043A\u0446\u0438\u043E\u043D\u043D\u044B\u0439 \u043A\u043E\u043B\u043B\u0435\u043A\u0442\u0438\u0432 \u00AB\u041D\u043E\u0432\u043E\u0439 \u0433\u0430\u0437\u0435\u0442\u044B\u00BB' # noqa - category = 'newspaper' - cover_url = u'https://novaya.media/ic_puzzle_footer.svg' - language = 'ru' - no_stylesheets = False - remove_javascript = False - auto_cleanup = False - oldest_article = 7 - max_articles_per_feed = 30 - - remove_tags_before = dict(name='h1', attrs={'class': 'Header_title__2zxwH'}) - - remove_tags_after = dict( - name='div', attrs={'class': 'Post_contentInnerWrapper__3GWHl'} - ) - - feeds = [( - '\u0421\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E', - 'https://novaya.media/feed/rss' - )] - - def print_version(self, url): - return url + '?print=true' diff --git a/recipes/novilist_portal_hr.recipe b/recipes/novilist_portal_hr.recipe deleted file mode 100644 index b902fd13f3..0000000000 --- a/recipes/novilist_portal_hr.recipe +++ /dev/null @@ -1,60 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2012, Darko Miletic ' -''' -www.novilist.hr -''' - -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NoviList_Portal_hr(BasicNewsRecipe): - title = 'Novi List - online portal' - __author__ = 'Darko Miletic' - description = 'Portal Novog Lista' - publisher = 'NOVI LIST d.d.' - category = 'Novi list, politika, hrvatski dnevnik, Novine, Hrvatska, Croatia, News, newspaper, Hrvatski,Primorje, dnevni list, Rijeka' - oldest_article = 2 - max_articles_per_feed = 200 - no_stylesheets = True - encoding = 'utf8' - use_embedded_content = False - language = 'hr' - publication_type = 'newsportal' - masthead_url = 'http://www.novilist.hr/extension/novilist/design/novilist/images/logo-print.gif' - extra_css = """ - @font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/tt0003m_.ttf)} - @font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)} - body{font-family: Geneva,Arial,Helvetica,Swiss,sans1,sans-serif } - h1{font-family: Georgia,serif1,serif} - img{display:block; margin-bottom: 0.4em; margin-top: 0.4em} - """ - - preprocess_regexps = [(re.compile(u'\u0110'), lambda match: u'\u00D0')] - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language, 'linearize_tables': True - } - - keep_only_tags = [dict(name='div', attrs={'id': 'content'})] - - remove_tags = [ - dict(name=['meta', 'link', 'iframe', 'embed', 'object']), - dict(name='div', attrs={ - 'class': lambda x: x and 'embed-object' in x.split()}) - ] - remove_attributes = ['border', 'lang'] - - feeds = [(u'Vijesti', u'http://www.novilist.hr/rss/feed/sve.xml')] - - def get_article_url(self, article): - url = BasicNewsRecipe.get_article_url(self, article) - filter = ['/Foto/', '/Informator/'] - for item in filter: - if item in url: - return None - return url - - def print_version(self, url): - return url.replace('http://www.novilist.hr/', 'http://www.novilist.hr/layout/set/print/') diff --git a/recipes/nowiny_rybnik.recipe b/recipes/nowiny_rybnik.recipe deleted file mode 100644 index fc42214e12..0000000000 --- a/recipes/nowiny_rybnik.recipe +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NowinyRybnik(BasicNewsRecipe): - title = u'Nowiny - Rybnik' - __author__ = 'Artur Stachecki ' - language = 'pl' - description = u'Tygodnik Regionalny NOWINY. Ogłoszenia drobne, wiadomości i wydarzenia z regionu Rybnika i okolic' - oldest_article = 7 - masthead_url = 'http://www.nowiny.rybnik.pl/logo/logo.jpg' - max_articles_per_feed = 100 - simultaneous_downloads = 5 - remove_javascript = True - no_stylesheets = True - - keep_only_tags = [(dict(name='div', attrs={'id': 'drukuj'}))] - - remove_tags = [] - remove_tags.append(dict(name='div', attrs={'id': 'footer'})) - - feeds = [(u'Wszystkie artykuły', - u'http://www.nowiny.rybnik.pl/rss,artykuly,dzial,0,miasto,0,ile,25.xml')] - - def preprocess_html(self, soup): - for alink in soup.findAll('a'): - if alink.string is not None: - tstr = alink.string - alink.replaceWith(tstr) - return soup diff --git a/recipes/npr_music_blogs.recipe b/recipes/npr_music_blogs.recipe deleted file mode 100644 index e0ea0b49fe..0000000000 --- a/recipes/npr_music_blogs.recipe +++ /dev/null @@ -1,20 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class nprmusic(BasicNewsRecipe): - title = 'NPR Music Blogs' - __author__ = 'cix3' - timefmt = ' [%b %d, %Y]' - language = 'en' - - oldest_article = 30 - max_articles_per_feed = 100 - no_stylesheets = True - - remove_tags = [dict(name='div', attrs={'id': ['logo', 'comments', 'related_objects', 'inset module', - 'footer', 'strip_control', 'header', 'navigation']}), dict(name='hr'), dict(name='img')] - - feeds = [ - ('A Blog Supreme', 'http://www.npr.org/blogs/ablogsupreme/index.xml'), - ('All Songs Considered', 'http://www.npr.org/blogs/allsongs/index.xml'), - ('Monitor Mix', 'http://www.npr.org/blogs/monitormix/index.xml')] diff --git a/recipes/nrc_handelsblad.recipe b/recipes/nrc_handelsblad.recipe deleted file mode 100644 index bc485aa566..0000000000 --- a/recipes/nrc_handelsblad.recipe +++ /dev/null @@ -1,70 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2012' -''' -nrc.nl -''' -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class NRC(BasicNewsRecipe): - title = 'NRC Handelsblad' - __author__ = 'veezh' - description = 'Nieuws (no subscription needed)' - oldest_article = 1 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'utf-8' - publisher = 'nrc.nl' - category = 'news, Netherlands, world' - language = 'nl' - timefmt = '' - extra_css = ''' - h1{font-size:130%;} - #h2{font-size:100%;font-weight:normal;} - #.href{font-size:xx-small;} - .bijschrift{color:#666666; font-size:x-small;} - #.main-article-info{font-family:Arial,Helvetica,sans-serif;} - #full-contents{font-size:small; font-family:Arial,Helvetica,sans-serif;font-weight:normal;} - #match-stats-summary{font-size:small; font-family:Arial,Helvetica,sans-serif;font-weight:normal;} - ''' - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher, 'linearize_tables': True - } - - remove_empty_feeds = True - - filterDuplicates = True - - def preprocess_html(self, soup): - for alink in soup.findAll('a'): - if alink.string is not None: - tstr = alink.string - alink.replaceWith(tstr) - return soup - - keep_only_tags = [dict(name='div', attrs={'class': 'article'})] - remove_tags_after = [dict(id='broodtekst')] - -# keep_only_tags = [ -# dict(name='div', attrs={'class':['label']}) -# ] - -# remove_tags_after = [dict(name='dl', attrs={'class':['tags']})] - -# def get_article_url(self, article): -# link = article.get('link') -# if 'blog' not in link and ('chat' not in link): -# return link - - feeds = [ - # ('Nieuws', 'http://www.nrc.nl/rss.php'), - ('Binnenland', 'http://www.nrc.nl/nieuws/categorie/binnenland/rss.php'), - ('Buitenland', 'http://www.nrc.nl/nieuws/categorie/buitenland/rss.php'), - ('Economie', 'http://www.nrc.nl/nieuws/categorie/economie/rss.php'), - ('Wetenschap', 'http://www.nrc.nl/nieuws/categorie/wetenschap/rss.php'), - ('Cultuur', 'http://www.nrc.nl/nieuws/categorie/cultuur/rss.php'), - ('Boeken', 'http://www.nrc.nl/boeken/rss.php'), - ('Tech', 'http://www.nrc.nl/tech/rss.php/'), - ('Klimaat', 'http://www.nrc.nl/klimaat/rss.php/'), - ] diff --git a/recipes/nsfw_corp.recipe b/recipes/nsfw_corp.recipe deleted file mode 100644 index 3681daad63..0000000000 --- a/recipes/nsfw_corp.recipe +++ /dev/null @@ -1,62 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2012-2013, Darko Miletic ' -''' -www.nsfwcorp.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class NotSafeForWork(BasicNewsRecipe): - title = 'Not Safe For Work Corporation' - __author__ = 'Darko Miletic' - description = 'Not Safe For Work Corporation' - publisher = 'Not Safe For Work Corporation' - category = 'news, politics, USA, World' - no_stylesheets = True - oldest_article = 15 - encoding = 'utf-8' - needs_subscription = True - auto_cleanup = False - INDEX = 'https://www.nsfwcorp.com' - LOGIN = INDEX + '/account/login/?next=%2F' - SETTINGS = INDEX + '/account/settings/' - use_embedded_content = True - language = 'en' - publication_type = 'magazine' - masthead_url = 'http://assets.nsfwcorp.com/media/headers/nsfw_banner.jpg' - extra_css = """ - img{margin-top:0.5em; margin-bottom: 0.7em; display: block} - .fontFace{font-family: 'LeagueGothicRegular',Arial,sans-serif;} - .dispatchTitle{text-transform: uppercase; font-size: x-large; font-weight: bold} - .dispatchSubtitle{font-size: x-large; font-weight: bold} - #fromLine{color: gray; text-align:right} - #toLine{color: gray} - #toLine a{color: red} - #fromLine a{color: red} - .row a{color: red} - """ - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - br.open(self.INDEX) - if self.username is not None and self.password is not None: - br.open(self.LOGIN) - br.select_form(nr=0) - br['email'] = self.username - br['password'] = self.password - br.submit() - return br - - def get_feeds(self): - self.feeds = [] - soup = self.index_to_soup(self.SETTINGS) - for item in soup.findAll('input', value=True, attrs={'type': 'text'}): - if item['value'].startswith('https://www.nsfwcorp.com/feed/'): - self.feeds.append(item['value']) - return self.feeds - return self.feeds diff --git a/recipes/ntv_spor.recipe b/recipes/ntv_spor.recipe deleted file mode 100644 index 8d90bfe848..0000000000 --- a/recipes/ntv_spor.recipe +++ /dev/null @@ -1,38 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1313512459(BasicNewsRecipe): - title = u'NTVSpor' - __author__ = 'A Erdogan' - description = 'News from Turkey' - publisher = 'NTVSpor.net' - category = 'sports, Turkey' - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - masthead_url = 'http://www.ntvspor.net/HTML/r/i/l.png' - language = 'tr' - - extra_css = ''' - body{font-family:Arial,Helvetica,sans-serif; font-size:small; align:left; color:#000000} - h1{font-size:large; color:#000000} - h2{font-size:small; color:#000000} - p{font-size:small; color:#000000} - ''' - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - remove_tags = [ - dict(name=['embed', 'il', 'ul', 'iframe', 'object', 'link', 'base']), - dict(name='div', attrs={'id': 'contentPhotoGallery'}), - dict(name='div', attrs={'class': 'SocialMediaWrapper'}), - dict(name='div', attrs={'class': 'grid2'}), - dict(name='div', attrs={'class': 'grid8'}), - dict(name='div', attrs={'id': 'anonsBar'}), - dict(name='div', attrs={'id': 'header'})] - remove_tags_before = dict(name='h1', attrs={'style': ['margin-top: 6px;']}) - remove_tags_after = dict(name='div', attrs={'id': 'newsBody'}) - feeds = [(u'NTVSpor', u'http://www.ntvspor.net/Rss/anasayfa')] diff --git a/recipes/ntv_tr.recipe b/recipes/ntv_tr.recipe deleted file mode 100644 index 4374a26a6e..0000000000 --- a/recipes/ntv_tr.recipe +++ /dev/null @@ -1,43 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class NTVMSNBC(BasicNewsRecipe): - title = u'NTV' - __author__ = 'A Erdogan' - description = 'News from Turkey' - publisher = 'NTV' - category = 'news, politics, Turkey' - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - masthead_url = 'http://www.ntvmsnbc.com/images/MSNBC/msnbc_ban.gif' - language = 'tr' - - remove_tags_before = dict(name='h1') - remove_tags_after = dict(attrs={'id': 'haberDetayYazi'}) - extra_css = ''' - body{font-family:Arial,Helvetica,sans-serif; font-size:small; align:left; color:#000000} - h1{font-size:large; color:#000000} - h2{font-size:small; color:#000000} - p{font-size:small; color:#000000} - ''' - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - remove_tags = [dict(name=['embed', 'il', 'ul', 'iframe', 'object', 'link', 'base']), dict(name='div', attrs={'style': ['padding: 0pt 10px 10px;']}), dict(name='div', attrs={'style': ['padding: 0pt 10px 10px;']}), dict(name='div', attrs={ # noqa - 'class': ['textSmallGrey w320']}), dict(name='div', attrs={'style': ['font-family:Arial; font-size:16px;font-weight:bold; font-color:#003366; margin-bottom:20px; margin-top:20px; border-bottom:solid 1px;border-color: #CCC; padding-bottom:2px;']})] # noqa - remove_tags_before = dict(name='h1') - remove_tags_after = dict(name='div', attrs={'style': [ - 'font-family:Arial; font-size:16px;font-weight:bold; font-color:#003366; margin-bottom:20px; margin-top:20px; border-bottom:solid 1px;border-color: #CCC; padding-bottom:2px;']}) # noqa - - feeds = [(u'NTV', u'http://www.ntvmsnbc.com/id/3032091/device/rss/rss.xml')] - - def print_version(self, url): - articleid = url.rpartition('/id/')[2] - return 'http://www.ntvmsnbc.com/id/' + articleid + '/print/1/displaymode/1098/' - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/nursingtimes.recipe b/recipes/nursingtimes.recipe deleted file mode 100644 index ca1d90ed59..0000000000 --- a/recipes/nursingtimes.recipe +++ /dev/null @@ -1,63 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' -''' -www.nursingtimes.net -''' - -try: - from urllib.parse import urlencode -except ImportError: - from urllib import urlencode - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class NursingTimes(BasicNewsRecipe): - title = 'Nursing Times' - __author__ = 'Darko Miletic' - description = 'Nursing practice, NHS and health care news' - oldest_article = 8 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'utf-8' - publisher = 'emap' - category = 'news, health, nursing, UK' - language = 'en_GB' - needs_subscription = True - LOGIN = 'http://www.nursingtimes.net/sign-in' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - br.open(self.LOGIN) - if self.username is not None and self.password is not None: - data = urlencode({'campaigncode': '0', 'referrer': '', 'security_text': '', 'SIemail': self.username, 'passWord': self.password, 'LoginButton.x': '27', 'LoginButton.y': '13' # noqa - }) - br.open(self.LOGIN, data) - return br - - keep_only_tags = [dict(name='div', attrs={'class': 'storytext'})] - remove_tags = [ - dict(name=['object', 'link', 'script', 'iframe']), dict( - name='div', attrs={'id': 'comments_form'}) - ] - remove_tags_after = dict(name='div', attrs={'id': 'comments_form'}) - - feeds = [ - - (u'Breaking News', u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=1'), - (u'Practice', u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=512'), - (u'Behind the headlines', u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=468'), - (u'Analysis', u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=62'), - (u'Acute care news', u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=5'), - (u'Primary vare news', u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=231'), - (u'Mental Health news', u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=27'), - (u'Management news', u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=32'), - (u"Older people's nursing news", u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=181'), - (u'Respiratory news', u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=177'), - (u'Wound care news', u'http://www.nursingtimes.net/XmlServers/navsectionRSS.aspx?navsectioncode=182') - ] diff --git a/recipes/nzz_folio.recipe b/recipes/nzz_folio.recipe deleted file mode 100644 index 2845756a42..0000000000 --- a/recipes/nzz_folio.recipe +++ /dev/null @@ -1,53 +0,0 @@ - -__license__ = 'GPL v3' -__copyright__ = '2012 Bernd Leinfelder ' - -''' -www.nzzfolio.ch -''' - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class Nzzfolio(BasicNewsRecipe): - title = 'NZZ Folio' - __author__ = 'Bernd Leinfelder' - description = 'Aktuelle Artikel des NZZ Folio' - publisher = 'NZZ AG' - category = 'news, politics, nachrichten, Switzerland' - oldest_article = 35 - max_articles_per_feed = 100 - no_stylesheets = True - encoding = 'utf-8' - use_embedded_content = False - language = 'de' - extra_css = """ - body{font-family: Georgia,"Times New Roman",Times,serif } - .artikel h3,.artikel h4,.bildLegende,.question,.autor{font-family: Arial,Verdana,Helvetica,sans-serif} - .bildLegende{font-size: small} - .autor{font-size: 0.9375em; color: #666666} - .quote{font-size: large !important; - font-style: italic; - font-weight: normal !important; - border-bottom: 1px dotted #BFBFBF; - border-top: 1px dotted #BFBFBF; - line-height: 1.25em} - .quelle{color: #666666; font-style: italic; white-space: nowrap} - """ - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher, 'linearize_tables': True - } - - remove_attributes = ['width', 'height', 'lang'] - remove_tags_before = dict(id='content') - remove_tags_after = dict(id='content') - remove_tags = [ - dict(name=['h2', 'object', 'link', 'base', 'meta', 'iframe']), dict(id='artikelBar'), dict( - id='foot'), dict(id='bildLegende'), dict(name='div', attrs={'class': ['box']}) - - ] - - feeds = [ - (u'NZZ Folio', u'http://rss.nzzfolio.ch/') - ] diff --git a/recipes/o_globo.recipe b/recipes/o_globo.recipe deleted file mode 100644 index b4cc9e948b..0000000000 --- a/recipes/o_globo.recipe +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -oglobo.globo.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class OGlobo(BasicNewsRecipe): - title = 'O Globo' - __author__ = 'Darko Miletic and Carlos Laviola' - description = 'News from Brasil' - publisher = 'O Globo' - category = 'news, politics, Brasil' - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - cover_url = 'http://oglobo.globo.com/_img/o-globo.png' - remove_javascript = True - - html2lrf_options = [ - '--comment', description, '--category', category, '--publisher', publisher - ] - - html2epub_options = 'publisher="' + publisher + \ - '"\ncomments="' + description + '"\ntags="' + category + '"' - - extra_css = ''' - cite{color:#007BB5; font-size:xx-small; font-style:italic;} - body{font-family:Arial,Helvetica,sans-serif;font-size:x-small;} - h3{font-size:large; color:#082963; font-weight:bold;} - #ident{color:#0179B4; font-size:xx-small;} - p{color:#000000;font-weight:normal;} - .commentario p{color:#007BB5; font-style:italic;} - ''' - - remove_tags = [ - dict(name='script'), dict(name='form'), dict(name='div', attrs={ - 'id': 'header'}), dict(name='p', attrs={'id': 'info-date-press'}) - ] - - feeds = [ - - (u'Todos os canais', u'http://oglobo.globo.com/rss.xml?completo=true'), - (u'Ciencia', u'http://oglobo.globo.com/rss.xml?secao=ciencia&completo=true'), - (u'Educacao', u'http://oglobo.globo.com/rss.xml?secao=educacao&completo=true'), - (u'Opiniao', u'http://oglobo.globo.com/rss.xml?secao=opiniao&completo=true'), - (u'Cultura', u'http://oglobo.globo.com/rss.xml?secao=cultura&completo=true'), - (u'Esportes', u'http://oglobo.globo.com/rss.xml?secao=esportes&completo=true'), - (u'Mundo', u'http://oglobo.globo.com/rss.xml?secao=mundo&completo=true'), - (u'Pais', u'http://oglobo.globo.com/rss.xml?secao=pais&completo=true'), - (u'Rio', u'http://oglobo.globo.com/rss.xml?secao=rio&completo=true'), - (u'Saude', u'http://oglobo.globo.com/rss.xml?secao=saude&completo=true'), - (u'Economia', u'http://oglobo.globo.com/rss.xml?secao=economia&completo=true'), - (u'Tecnologia', u'http://oglobo.globo.com/rss.xml?secao=tecnologia&completo=true') - ] - - def print_version(self, url): - return url + '?service=print' - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - return soup - - language = 'pt_BR' diff --git a/recipes/observa_digital.recipe b/recipes/observa_digital.recipe deleted file mode 100644 index c25c5e5cfd..0000000000 --- a/recipes/observa_digital.recipe +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env python - -from __future__ import print_function - -__license__ = 'GPL v3' -__author__ = '2010, Gustavo Azambuja ' -''' -observa.com.uy -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Noticias(BasicNewsRecipe): - title = 'Observa Digital' - __author__ = '2010, Gustavo Azambuja ' - description = 'Noticias desde Uruguay' - language = 'es_UY' - timefmt = '[%a, %d %b, %Y]' - use_embedded_content = False - recursion = 5 - encoding = 'utf8' - remove_javascript = True - no_stylesheets = True - - oldest_article = 2 - max_articles_per_feed = 100 - keep_only_tags = [dict(id=['contenido'])] - remove_tags = [ - dict(name='div', attrs={'id': 'contenedorVinculadas'}), - dict(name='p', attrs={'id': 'nota_firma'}), - dict(name=['object', 'link']) - ] - - remove_attributes = ['width', 'height', 'style', 'font', 'color'] - - extra_css = ''' - h1{font-family:Geneva, Arial, Helvetica, sans-serif;color:#154B7A;} - h3{font-size: 14px;color:#999999; font-family:Geneva, Arial, Helvetica, sans-serif;font-weight: bold;} - h2{color:#666666; font-family:Geneva, Arial, Helvetica, sans-serif;font-size:small;} - p {font-family:Arial,Helvetica,sans-serif;} - ''' - feeds = [ - (u'Actualidad', u'http://www.observa.com.uy/RSS/actualidad.xml'), - (u'Deportes', u'http://www.observa.com.uy/RSS/deportes.xml'), - (u'Vida', u'http://www.observa.com.uy/RSS/vida.xml'), - (u'Ciencia y Tecnologia', u'http://www.observa.com.uy/RSS/ciencia.xml') - ] - - def get_cover_url(self): - cover_url = None - index = 'http://www.elobservador.com.uy/elobservador/nav_portada.asp?suplemento=dia' - soup = self.index_to_soup(index) - link_item = soup.find('img', attrs={'usemap': '#mapeo_imagenes'}) - if link_item: - cover_url = 'http://www.elobservador.com.uy' + \ - link_item['src'].strip() - - print(cover_url) - - return cover_url - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - return soup diff --git a/recipes/observer.recipe b/recipes/observer.recipe deleted file mode 100644 index 34a75d41a1..0000000000 --- a/recipes/observer.recipe +++ /dev/null @@ -1,37 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class NewsandObserver(BasicNewsRecipe): - title = u'Raleigh News & Observer' - description = 'News from Raleigh, North Carolina' - language = 'en' - __author__ = 'Krittika Goyal updated by Walt Anthony' - oldest_article = 3 # days - max_articles_per_feed = 25 - summary_length = 150 - - no_stylesheets = True - remove_javascript = True - - remove_tags_before = dict(name='h1', attrs={'id': 'story_headline'}) - remove_tags_after = dict(name='div', attrs={'id': 'story_text_remaining'}) - - remove_tags = [ - dict(name='iframe'), - dict(name='div', attrs={'id': ['right-rail', 'story_tools', 'toolbox', 'toolbar', - 'tool', 'shirttail', 'comment_widget', 'story_keywords', 'txtResizeTool']}), - dict(name='div', attrs={'class': ['Buy-It-Now', 'story_link_share']}), - dict(name='ul', attrs={'class': 'bold_tabs_nav'}), - - ] - - feeds = [ - ('Cover', 'http://www.newsobserver.com/100/index.rss'), - ('News', 'http://www.newsobserver.com/102/index.rss'), - ('Politics', 'http://www.newsobserver.com/105/index.rss'), - ('Business', 'http://www.newsobserver.com/104/index.rss'), - ('Sports', 'http://www.newsobserver.com/103/index.rss'), - ('College Sports', 'http://www.newsobserver.com/119/index.rss'), - ('Lifestyles', 'http://www.newsobserver.com/106/index.rss'), - ('Editorials', 'http://www.newsobserver.com/158/index.rss') - ] diff --git a/recipes/odenselokalavisen_dk.recipe b/recipes/odenselokalavisen_dk.recipe deleted file mode 100644 index 14a81fb348..0000000000 --- a/recipes/odenselokalavisen_dk.recipe +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -# https://manual.calibre-ebook.com/news_recipe.html -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - -''' -Lokalavisen Odense -''' - - -class OdenseLokalavisen_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'Lokalavisen Odense' - description = 'Lokale og regionale nyheder, sport og kultur fra Odense på odense.lokalavisen.dk' - category = 'newspaper, news, localnews, sport, culture, Denmark' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Seneste nyt fra Lokalavisen Odense', 'http://odense.lokalavisen.dk/section/senestenytrss'), - ('Seneste lokale nyheder fra Lokalavisen Odense', 'http://odense.lokalavisen.dk/section/senestelokalenyhederrss'), - ('Seneste sport fra Lokalavisen Odense', 'http://odense.lokalavisen.dk/section/senestesportrss'), - ('Seneste 112 nyheder fra Lokalavisen Odense', 'http://odense.lokalavisen.dk/section/seneste112rss'), - ('Seneste kultur nyheder fra Lokalavisen Odense', 'http://odense.lokalavisen.dk/section/senestekulturrss'), - ('Seneste læserbreve fra Lokalavisen Odense', 'http://odense.lokalavisen.dk/section/senestelaeserbreverss'), - - ] - diff --git a/recipes/oesterbroavis_dk.recipe b/recipes/oesterbroavis_dk.recipe deleted file mode 100644 index 78ae5e88fc..0000000000 --- a/recipes/oesterbroavis_dk.recipe +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -# https://manual.calibre-ebook.com/news_recipe.html -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - -''' -Østerbro Avis -''' - - -class OesterbroAvis_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'Østerbro Avis' - - category = 'newspaper, news, localnews, sport, culture, Denmark' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Østerbro Avis', 'http://minby.dk/oesterbro-avis/feed/'), - ('Kommentarer til Østerbro Avis', 'http://minby.dk/oesterbro-avis/comments/feed/'), - - ] - diff --git a/recipes/office_space.recipe b/recipes/office_space.recipe deleted file mode 100644 index 5456a0e297..0000000000 --- a/recipes/office_space.recipe +++ /dev/null @@ -1,125 +0,0 @@ -import os -import os.path -import re - -from calibre.constants import CONFIG_DIR_MODE, config_dir -from calibre.web.feeds.recipes import BasicNewsRecipe - -try: - from urllib.parse import quote -except ImportError: - from urllib import quote -from hashlib import md5 - - -class OfficeSpaceBlogHu(BasicNewsRecipe): - __author__ = 'Zsolt Botykai' - title = u'Office Space Blog' - description = u"officespace.blog.hu" - oldest_article = 10000 - max_articles_per_feed = 10000 - reverse_article_order = True - language = 'hu' - remove_javascript = True - remove_empty_feeds = True - no_stylesheets = True - feeds = [(u'Office Space Blog', u'http://officespace.blog.hu/rss')] - remove_javascript = True - use_embedded_content = False - title = u'Irodai patkényok' - feeds = [(u'Office Space', u'http://officespace.blog.hu/rss')] - - masthead_url = 'http://m.blog.hu/of/officespace/ipfejlec7.jpg' - - keep_only_tags = [ - dict(name='div', attrs={'id': ['mainWrapper']}) - ] - - # 1.: I like justified lines more - # 2.: remove empty paragraphs - # 3.: drop header and sidebar - # 4.: drop comments counter - # 5.: drop everything after article-tags - # 6-8.: drop audit images - - preprocess_regexps = [ - (re.compile(r'

( | )*?

', re.DOTALL | re.IGNORECASE), lambda match: ''), - (re.compile(r']+>.*?
.*?', - re.DOTALL | re.IGNORECASE), lambda match: ''), - (re.compile(r'