diff --git a/recipes/cyprus_weekly.recipe b/recipes/cyprus_weekly.recipe deleted file mode 100644 index bad7d4bcd3..0000000000 --- a/recipes/cyprus_weekly.recipe +++ /dev/null @@ -1,130 +0,0 @@ -from datetime import datetime, timedelta - -from calibre.web.feeds.news import BasicNewsRecipe - - -class CyNewsLiveRecipe(BasicNewsRecipe): - __license__ = 'GPL v3' - __author__ = 'kwetal' - language = 'en_CY' - version = 1 - - title = u'Cyprus Weekly' - publisher = u'The Cyprus Weekly' - category = u'News, Newspaper' - description = u'News from Cyprus' - - use_embedded_content = False - remove_empty_feeds = True - oldest_article = 7 - max_articles_per_feed = 100 - - no_stylesheets = True - remove_javascript = True - - pubTime = None - minTime = None - articleCount = 0 - - INDEX = 'http://www.cyprusweekly.com.cy/main/default.aspx' - - feeds = [] - feeds.append( - ('News: Cyprus', 'http://www.cyprusweekly.com.cy/main/92,0,0,0-CYPRUS.aspx')) - feeds.append( - ('News: World', 'http://www.cyprusweekly.com.cy/main/78,0,0,0-UKWORLD.aspx')) - feeds.append(('Sport: Football', - 'http://www.cyprusweekly.com.cy/main/82,0,0,0-FOOTBALL.aspx')) - feeds.append( - ('Sport: Rugby', 'http://www.cyprusweekly.com.cy/main/83,0,0,0-RUGBY.aspx')) - feeds.append( - ('Sport: Cricket', 'http://www.cyprusweekly.com.cy/main/85,0,0,0-CRICKET.aspx')) - feeds.append( - ('Sport: Tennis', 'http://www.cyprusweekly.com.cy/main/84,0,0,0-TENNIS.aspx')) - feeds.append( - ('Sport: Other', 'http://www.cyprusweekly.com.cy/main/86,0,0,0-OTHER.aspx')) - feeds.append( - ('Business: Local', 'http://www.cyprusweekly.com.cy/main/100,0,0,0-LOCAL.aspx')) - feeds.append(('Business: Foreign', - 'http://www.cyprusweekly.com.cy/main/101,0,0,0-FOREIGN.aspx')) - feeds.append(('Whats On: Places of Interest', - 'http://www.cyprusweekly.com.cy/main/123,0,0,0-PLACES-OF-INTEREST.aspx')) - feeds.append(('Whats On: Going Out', - 'http://www.cyprusweekly.com.cy/main/153,0,0,0-GOING-OUT.aspx')) - feeds.append(('Whats On: Arts & Entertainment', - 'http://www.cyprusweekly.com.cy/main/135,0,0,0-ARTS--and-ENTERTAINMENT.aspx')) - feeds.append(('Whats On: Things To Do', - 'http://www.cyprusweekly.com.cy/main/136,0,0,0-THINGS-TO-DO.aspx')) - feeds.append(('Whats On: Shopping Guide', - 'http://www.cyprusweekly.com.cy/main/142,0,0,0-SHOPPING-GUIDE.aspx')) - feeds.append( - ('Culture', 'http://www.cyprusweekly.com.cy/main/208,0,0,0-CULTURE.aspx')) - feeds.append( - ('Environment', 'http://www.cyprusweekly.com.cy/main/93,0,0,0-ENVIRONMENT.aspx')) - feeds.append( - ('Info', 'http://www.cyprusweekly.com.cy/main/91,0,0,0-INFO.aspx')) - - keep_only_tags = [] - keep_only_tags.append( - dict(name='div', attrs={'class': 'ArticleCategories'})) - - extra_css = ''' - body{font-family:verdana,arial,helvetica,geneva,sans-serif ;} - ''' - - def parse_index(self): - answer = [] - for feed in self.feeds: - self.articleCount = 0 - articles = [] - soup = self.index_to_soup(feed[1]) - - table = soup.find('table', attrs={'id': 'ctl00_cp_ctl01_listp'}) - if table: - self.pubTime = datetime.now() - self.minTime = self.pubTime - \ - timedelta(days=self.oldest_article) - - self.find_articles(table, articles) - - answer.append((feed[0], articles)) - - return answer - - def postprocess_html(self, soup, first): - for el in soup.findAll(attrs={'style': True}): - del el['style'] - - for el in soup.findAll('font'): - el.name = 'div' - for attr, value in el: - del el[attr] - - return soup - - def find_articles(self, table, articles): - for div in table.findAll('div', attrs={'class': 'ListArticle'}): - el = div.find('div', attrs={'class': 'ListArticle_T'}) - title = self.tag_to_string(el.a) - url = self.INDEX + el.a['href'] - - description = self.tag_to_string( - div.find('div', attrs={'class': 'ListArticle_BODY300'})) - - el = div.find('div', attrs={'class': 'ListArticle_D'}) - if el: - dateParts = self.tag_to_string(el).split(' ') - monthNames = {'January': 1, 'February': 2, 'March': 3, 'April': 4, 'May': 5, 'June': 6, - 'July': 7, 'August': 8, 'September': 9, 'October': 10, 'November': 11, - 'December': 12} - timeParts = dateParts[3].split(':') - self.pubTime = datetime(year=int(dateParts[2]), month=int(monthNames[dateParts[1]]), - day=int(dateParts[0]), hour=int(timeParts[0]), - minute=int(timeParts[1])) - - if self.pubTime >= self.minTime and self.articleCount <= self.max_articles_per_feed: - articles.append( - {'title': title, 'date': self.pubTime, 'url': url, 'description': description}) - self.articleCount += 1 - else: - return diff --git a/recipes/czas_gentlemanow.recipe b/recipes/czas_gentlemanow.recipe deleted file mode 100644 index c186bd55f8..0000000000 --- a/recipes/czas_gentlemanow.recipe +++ /dev/null @@ -1,25 +0,0 @@ -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai -from calibre.web.feeds.news import BasicNewsRecipe - - -class CzasGentlemanow(BasicNewsRecipe): - title = u'Czas Gentlemanów' - __author__ = 'fenuks' - description = u'Historia mężczyzn z dala od wielkiej polityki' - category = 'blog' - language = 'pl' - cover_url = 'https://czasgentlemanow.pl/wp-content/uploads/2012/10/logo-Czas-Gentlemanow1.jpg' - ignore_duplicate_articles = {'title', 'url'} - oldest_article = 7 - max_articles_per_feed = 100 - extra_css = '.gallery-item {float:left; margin-right: 10px; max-width: 20%;} .alignright {text-align: right; float:right; margin-left:5px;}\ - .wp-caption-text {text-align: left;} img.aligncenter {display: block; margin-left: auto; margin-right: auto;} .alignleft {float: left; margin-right:5px;}' - no_stylesheets = True - remove_empty_feeds = True - use_embedded_content = False - keep_only_tags = [dict(name='div', attrs={'class': 'post-wrapper'})] - remove_tags = [dict(attrs={'class': ['awac-wrapper', 'post-bottom', 'comment', 'seperate']})] - feeds = [ - (u'Charakter', u'https://czasgentlemanow.pl/category/charakter/feed/'), - (u'Wizerunek', u'https://czasgentlemanow.pl/category/wizerunek/feed/'), - (u'Relacje międzyludzkie', u'https://czasgentlemanow.pl/category/relacje-miedzyludzkie/feed/')] diff --git a/recipes/daily_express.recipe b/recipes/daily_express.recipe deleted file mode 100644 index b48d931d80..0000000000 --- a/recipes/daily_express.recipe +++ /dev/null @@ -1,104 +0,0 @@ -# vim:fileencoding=UTF-8 -from __future__ import print_function, unicode_literals - -import re - -from calibre import browser -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1390132023(BasicNewsRecipe): - title = u'Daily Express' - __author__ = 'Dave Asbury' - # 1.8.15 official feedburner feeds live again - # 27.6.15 using feed43 as rss feeds dead - # feed 43 string =
{%} - oldest_article = 1.5 - language = 'en_GB' - max_articles_per_feed = 10 - compress_news_images = True - compress_news_images_max_size = 20 - ignore_duplicate_articles = {'title', 'url'} - masthead_url = 'http://cdn.images.dailyexpress.co.uk/img/page/express_logo.png' - auto_cleanup_keep = '//*[@class="author"]|//section[@class="photo changeSpace"]' - auto_cleanup = True - no_stylesheets = False - - preprocess_regexps = [ - (re.compile(r'\| [\w].+?\| [\w].+?\| Daily Express', - re.IGNORECASE | re.DOTALL), lambda match: ''), - - ] - feeds = [ - - # (u'UK News', u'http://feed43.com/3460616116055543.xml'), - # http://www.express.co.uk/posts/rss/1/uk'), - (u'UK News', u'http://feeds.feedburner.com/daily-express-uk-news'), - (u'World News', u'http://feeds.feedburner.com/daily-express-world-news'), - # (u'World News',u'http://feed43.com/5650105317448722.xml'), - # http://www.express.co.uk/posts/rss/78/world'), - (u'Showbiz News', u'http://feeds.feedburner.com/daily-express-showbiz-news'), - # (u'Showbiz News',u'http://feed43.com/2564008080442425.xml'), - (u'Finance', u'http://feeds.feedburner.com/daily-express-finance-news'), - # (u'Finance',u'http://feed43.com/8636615325246501.xml'), - # http://www.express.co.uk/posts/rss/21/finance'), - # (u'Sport - Boxing',u'http://feed43.com/7570233481503246.xml'), - (u'Sport - Boxing', u'http://feeds.feedburner.com/daily-express-boxing-news'), - (u'Sport - Rugby Union', - u'http://feeds.feedburner.com/daily-express-rugby-union-news'), - # (u'Sport - Rugby Union',u'http://feed43.com/4235483647118470.xml'), - # (u'Sport - Others',u'http://feed43.com/6106345668326737.xml'), - (u'Sport - Others', u'http://feeds.feedburner.com/daily-express-other-sport-news'), - # http://www.express.co.uk/posts/rss/65/sport'), - (u'Entertainment', u'http://feeds.feedburner.com/daily-express-entertainment-news'), - # (u'Entertainment',u'http://feed43.com/8864645080210731.xml'), - # http://www.express.co.uk/posts/rss/18/entertainment'), - (u'Lifestyle', u'http://feeds.feedburner.com/daily-express-life-and-style-news'), - # (u'Lifestyle',u'http://feed43.com/8705161426770855.xml'), - # http://www.express.co.uk/posts/rss/8/life&style'), - (u'Travel', u'http://feeds.feedburner.com/daily-express-travel'), - # (u'Travel',u'http://feed43.com/6547373884767554.xml'), - ] - # starsons code - - def parse_feeds(self): - feeds = BasicNewsRecipe.parse_feeds(self) - for feed in feeds: - for article in feed.articles[:]: - print('article.title is: ', article.title) - if 'WATCH:' in article.title.upper(): - feed.articles.remove(article) - - return feeds - - def get_cover_url(self): - soup = self.index_to_soup('http://www.express.co.uk/ourpaper/') - cov = soup.find(attrs={'src': re.compile( - 'http://cdn.images.express.co.uk/img/covers/')}) - cov = str(cov) - cov2 = re.findall( - 'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', cov) - - cov = str(cov2) - cov = cov[2:len(cov) - 2] - - # cover_url=cov - br = browser() - br.set_handle_redirect(False) - try: - br.open_novisit(cov) - cover_url = cov - except: - cover_url = 'http://cdn.images.express.co.uk/img/static/ourpaper/header-back-issue-papers.jpg' - - return cover_url - - extra_css = ''' - #h1{font-weight:bold;font-size:175%;} - h2{display: block;margin-left: auto;margin-right: auto;width:100%;font-weight:bold;font-size:175%;} - #p{font-size:14px;} - #body{font-size:14px;} - .newsCaption {display: block;margin-left: auto;margin-right: auto;width:100%;font-size:40%;} - .publish-info {font-size:50%;} - .photo img {display: block;margin-left: auto;margin-right: auto;width:100%;} - ''' diff --git a/recipes/daily_telegraph.recipe b/recipes/daily_telegraph.recipe deleted file mode 100644 index eb81bf93df..0000000000 --- a/recipes/daily_telegraph.recipe +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' -__docformat__ = 'restructuredtext en' - -''' -http://www.news.com.au/dailytelegraph/ -''' -from calibre.web.feeds.news import BasicNewsRecipe - - -class DailyTelegraph(BasicNewsRecipe): - title = u'Daily Telegraph' - __author__ = u'Adrian G.' - language = 'en_AU' - - description = u'Daily Telegraph News' - oldest_article = 5 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - no_javascript = True - - timefmt = ' [%A, %d %B, %Y]' - encoding = 'utf-8' - - keep_only_tags = [dict(name='div', attrs={'id': 'story'})] - - extra_css = ''' - h1{font-family:Georgia,"Times New Roman",Times,serif; font-weight:bold; font-size:large;} - .cT-storyDetails{font-family:Arial,Helvetica,sans-serif; color:#666666;font-size:x-small;} - .articleBody{font-family:Arial,Helvetica,sans-serif; color:black;font-size:small;} - .cT-imageLandscape{font-family:Arial,Helvetica,sans-serif; color:#333333 ;font-size:x-small;} - .source{font-family:Arial,Helvetica,sans-serif; color:#333333 ;font-size:xx-small;} - #content{font-family:Arial,Helvetica,sans-serif;font-size:x-small;} - .pageprint{font-family:Arial,Helvetica,sans-serif;font-size:small;} - #bylineDetails{font-family:Arial,Helvetica,sans-serif; color:#666666;font-size:x-small;} - .featurePic-wide{font-family:Arial,Helvetica,sans-serif;font-size:x-small;} - #idfeaturepic{font-family:Arial,Helvetica,sans-serif;font-size:x-small;} - h3{font-family:Georgia,"Times New Roman",Times,serif; font-size:small;} - h2{font-family:Georgia,"Times New Roman",Times,serif; font-size:small;} - h4{font-family:Georgia,"Times New Roman",Times,serif; font-size:small;} - h5{font-family:Georgia,"Times New Roman",Times,serif; font-size:small;} - body{font-family:Arial,Helvetica,sans-serif; font-size:x-small;} - ''' - - remove_tags = [ - dict(name='div', attrs={'id': ['comments', 'story-related-coverage']}), - dict(name='div', attrs={'class': [ - 'story-header-tools', 'story-footer', 'story-extras', 'story-related']}), - dict(name='div', attrs={ - 'class': ['promo-image', 'story-extras story-extras-2']}), - dict(name='div', attrs={'class': ['assistive sidebar-jump']}) - ] - - feeds = [ - (u'Top Stories', u'http://feeds.news.com.au/public/rss/2.0/dtele_top_stories_253.xml'), - (u'National News', - u'http://feeds.news.com.au/public/rss/2.0/dtele_national_news_202.xml'), - (u'World News', u'http://feeds.news.com.au/public/rss/2.0/dtele_world_news_204.xml'), - (u'NSW and ACT', u'http://feeds.news.com.au/public/rss/2.0/dtele_nswact_225.xml'), - (u'Arts', u'http://feeds.news.com.au/public/rss/2.0/dtele_art_444.xml'), - (u'Business News', u'http://feeds.news.com.au/public/rss/2.0/dtele_business_226.xml'), - (u'Entertainment News', - u'http://feeds.news.com.au/public/rss/2.0/dtele_entertainment_news_201.xml'), - (u'Lifestyle News', - u'http://feeds.news.com.au/public/rss/2.0/dtele_lifestyle_227.xml'), - (u'Music', u'http://feeds.news.com.au/public/rss/2.0/dtele_music_441.xml'), - (u'Sport', - u'http://feeds.news.com.au/public/rss/2.0/dtele_sport_203.xml'), - (u'Soccer', - u'http://feeds.news.com.au/public/rss/2.0/dtele_sports_soccer_344.xml'), - (u'Rugby Union', - u'http://feeds.news.com.au/public/rss/2.0/dtele_sports_rugby_union_342.xml'), - (u'Property Confidential', - u'http://feeds.news.com.au/public/rss/2.0/dtele_property_confidential_463.xml'), - (u'Property - Your Space', - u'http://feeds.news.com.au/public/rss/2.0/dtele_property_yourspace_462.xml'), - (u'Confidential News', - u'http://feeds.news.com.au/public/rss/2.0/dtele_entertainment_confidential_252.xml'), - (u'Confidential Biographies', - u'http://feeds.news.com.au/public/rss/2.0/dtele_confidential_biographies_491.xml'), - (u'Confidential Galleries', - u'http://feeds.news.com.au/public/rss/2.0/dtele_confidential_galleries_483.xml'), - ] diff --git a/recipes/dailytportal.recipe b/recipes/dailytportal.recipe deleted file mode 100644 index 00deb4c1db..0000000000 --- a/recipes/dailytportal.recipe +++ /dev/null @@ -1,62 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2011, Darko Miletic ' -''' -daily.tportal.hr -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Pagina12(BasicNewsRecipe): - title = 'Daily tportal.h' - __author__ = 'Darko Miletic' - description = 'News from Croatia' - publisher = 'tportal.hr' - category = 'news, politics, Croatia' - oldest_article = 2 - max_articles_per_feed = 200 - no_stylesheets = True - encoding = 'utf-8' - use_embedded_content = False - language = 'en_HR' - remove_empty_feeds = True - publication_type = 'newsportal' - extra_css = """ - body{font-family: Verdana,sans-serif } - img{margin-bottom: 0.4em; display:block} - h1,h2{color: #2D648A; font-family: Georgia,serif} - .artAbstract{font-size: 1.2em; font-family: Georgia,serif} - """ - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - remove_tags = [ - dict(name=['meta', 'link', 'embed', 'object', 'iframe', 'base']), dict( - name='div', attrs={'class': 'artInfo'}) - ] - remove_attributes = ['lang'] - - keep_only_tags = dict(attrs={'class': 'articleDetails'}) - - feeds = [(u'News', u'http://daily.tportal.hr/rss/dailynaslovnicarss.xml')] - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - for item in soup.findAll('a'): - limg = item.find('img') - if item.string is not None: - str = item.string - item.replaceWith(str) - else: - if limg: - item.name = 'div' - item.attrs = [] - else: - str = self.tag_to_string(item) - item.replaceWith(str) - for item in soup.findAll('img', alt=False): - item['alt'] = 'image' - return soup diff --git a/recipes/dallas.recipe b/recipes/dallas.recipe deleted file mode 100644 index 1cc03a6490..0000000000 --- a/recipes/dallas.recipe +++ /dev/null @@ -1,35 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class DallasNews(BasicNewsRecipe): - title = u'The Dallas Morning News' - language = 'en' - oldest_article = 2 # days - max_articles_per_feed = 25 - - no_stylesheets = True - use_embedded_content = False - auto_cleanup = True - - feeds = [ - ('News', - 'http://www.dallasnews.com/news.rss'), - ('Local News', - 'http://www.dallasnews.com/news/local-politics.rss'), - ('State Politics', - 'http://www.dallasnews.com/news/texas-politics.rss'), - ('Religion', - 'http://www.dallasnews.com/life/faith.rss'), - ('Crime', - 'http://www.dallasnews.com/news/crime.rss'), - ('Celebrity News', - 'http://www.dallasnews.com/entertainment/celebrity-news/?rss&listname=TopStories'), - ('Business', - 'http://www.dallasnews.com/business.rss'), - ('Arts', - 'http://www.dallasnews.com/arts.rss'), - ('Life', - 'http://www.dallasnews.com/life.rss'), - ('Opinion', - 'http://www.dallasnews.com/opinion.rss'), - ] diff --git a/recipes/dark_reading.recipe b/recipes/dark_reading.recipe deleted file mode 100644 index 3f46755a7d..0000000000 --- a/recipes/dark_reading.recipe +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2014, Brandon S Allbery ' -''' -Dark Reading: protect the business. enable access. -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class DarkReading(BasicNewsRecipe): - title = u'Dark Reading' - __author__ = 'Brandon Allberry' - language = 'en' - description = u'Dark Reading is the premier online resource helping information security professionals manage the balance between protection and access. It offers breaking news and analysis on attacks, breaches and vulnerabilities, as well as strategies for protecting enterprise data. It also offers guidance on setting risk management and compliance policies.' # noqa - oldest_article = 7 - max_articles_per_feed = 100 - keep_only_tags = [dict(attrs=['article-content', 'heading'])] - masthead_url = u'http://img.deusm.com/darkreading/DR-logo.png' - cover_url = u'http://img.deusm.com/darkreading/DR-logo.png' - remove_tags = [ - dict(name='div', attrs={'id': 'first-level-nav-container'}), - dict(name='div', attrs={'id': 'search-box'}), - dict(name='div', attrs={'id': 'mobile-menu-nav'}), - dict(name='div', attrs={'id': 'mobile-menu-profile'}), - dict(name='div', attrs={'id': 'mobile-menu-search'}), - dict(name='div', attrs={'id': 'mobile-menu-rss'}), - dict(name='div', attrs={'id': 'second-level'}), - dict(name='div', attrs={'id': 'third-level'}), - dict(name='div', attrs={'id': 'aside-main'}), - dict(name='div', attrs={'id': 'third-level'}), - dict(name='div', attrs={'id': 'more-insights'}), - dict(name='div', attrs={'class': 'more-insights-item'}) - ] - feeds = [(u'All', u'http://www.darkreading.com/rss_simple.asp')] diff --git a/recipes/darknet.recipe b/recipes/darknet.recipe deleted file mode 100644 index 38218cf5ef..0000000000 --- a/recipes/darknet.recipe +++ /dev/null @@ -1,45 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2008, Kovid Goyal ' - -''' -Fetch darknet. -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class darknet(BasicNewsRecipe): - - title = 'darknet' - description = 'Ethical hacking and security news' - __author__ = 'Oliver Niesner' - language = 'en' - - use_embedded_content = False - timefmt = ' [%b %d %Y]' - max_articles_per_feed = 40 - no_stylesheets = True - oldest_article = 180 - - remove_tags = [dict(id='navi_top'), - dict(id='navi_bottom'), - dict(id='nav'), - dict(id='top-ad'), - dict(id='login_suche'), - dict(id='navi_login'), - dict(id='breadcrumb'), - dict(id='subtitle'), - dict(id='bannerzone'), - dict(name='span', attrs={'class': 'rsaquo'}), - dict(name='span', attrs={'class': 'next'}), - dict(name='span', attrs={'class': 'prev'}), - dict(name='span', attrs={'class': 'comments'}), - dict(name='div', attrs={'class': 'news_logo'}), - dict(name='div', attrs={'class': 'nextprev'}), - dict(name='div', attrs={'class': 'tags'}), - dict(name='div', attrs={'class': 'Nav'}), - dict(name='p', attrs={'class': 'news_option'}), - dict(name='p', attrs={'class': 'news_foren'})] - remove_tags_after = [dict(name='div', attrs={'class': 'meta-footer'})] - - feeds = [('darknet', 'http://feedproxy.google.com/darknethackers')] diff --git a/recipes/data_news.recipe b/recipes/data_news.recipe deleted file mode 100644 index ec585442b7..0000000000 --- a/recipes/data_news.recipe +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -from __future__ import absolute_import, division, print_function, unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1468055030(BasicNewsRecipe): - title = 'DataNews' - __author__ = 'oCkz7bJ_' - description = 'Technology / Best Practice / Business' - publisher = 'Roularta Media Group' - category = 'news, information technology, Belgium' - language = 'nl_BE' - - oldest_article = 2 - max_articles_per_feed = 100 - auto_cleanup = True - no_stylesheets = True - use_embedded_content = False - remove_javascript = True - - cover_url = 'http://datablend.be/wp-content/uploads/2014/01/Data_News_logo-short.jpg' - masthead_url = 'http://datanews.knack.be/images/svg/logos/logo_Site-DataNews-NL.svg' - - # Source: http://datanews.knack.be/rss/ - feeds = [ - ('Technology', 'http://datanews.knack.be/ict/feed.rss'), - ('Opinie', 'http://datanews.knack.be/ict/opinie/feed.rss'), - ('Gadgets', 'http://datanews.knack.be/ict/gadgets/feed.rss'), - ('Foto', 'http://datanews.knack.be/ict/foto/feed.rss'), - ('Nieuws', 'http://datanews.knack.be/ict/nieuws/feed.rss'), - ('Reviews', 'http://datanews.knack.be/ict/reviews/feed.rss'), - ('Startups', 'http://datanews.knack.be/ict/start-ups/feed.rss'), - ] diff --git a/recipes/datasport.recipe b/recipes/datasport.recipe deleted file mode 100644 index 6e21d72ca4..0000000000 --- a/recipes/datasport.recipe +++ /dev/null @@ -1,16 +0,0 @@ -__license__ = 'GPL v3' -__author__ = 'faber1971' -description = 'Italian soccer news website - v1.00 (17, December 2011)' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1324114272(BasicNewsRecipe): - title = u'Datasport' - language = 'it' - __author__ = 'faber1971' - oldest_article = 1 - max_articles_per_feed = 100 - auto_cleanup = True - - feeds = [(u'Datasport', u'http://www.datasport.it/calcio/rss.xml')] diff --git a/recipes/daytona_beach.recipe b/recipes/daytona_beach.recipe deleted file mode 100644 index 0d304f91b9..0000000000 --- a/recipes/daytona_beach.recipe +++ /dev/null @@ -1,88 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class DaytonBeachNewsJournal(BasicNewsRecipe): - title = 'Daytona Beach News Journal' - __author__ = 'BRGriff' - publisher = 'News-JournalOnline.com' - description = 'Daytona Beach, Florida, Newspaper' - category = 'News, Daytona Beach, Florida' - oldest_article = 1 - max_articles_per_feed = 100 - remove_javascript = True - use_embedded_content = False - no_stylesheets = True - language = 'en' - filterDuplicates = True - remove_attributes = ['style'] - - keep_only_tags = [dict(name='div', attrs={'class': 'page-header'}), - dict(name='div', attrs={'class': 'asset-body'}) - ] - remove_tags = [dict(name='div', attrs={'class': ['byline-section', 'asset-meta']}) - ] - - feeds = [ - # ####NEWS##### - (u"News", u"http://www.news-journalonline.com/rss.xml"), - (u"Breaking News", - u"http://www.news-journalonline.com/breakingnews/rss.xml"), - (u"Local - East Volusia", - u"http://www.news-journalonline.com/news/local/east-volusia/rss.xml"), - (u"Local - West Volusia", - u"http://www.news-journalonline.com/news/local/west-volusia/rss.xml"), - (u"Local - Southeast", - u"http://www.news-journalonline.com/news/local/southeast-volusia/rss.xml"), - (u"Local - Flagler", - u"http://www.news-journalonline.com/news/local/flagler/rss.xml"), - (u"Florida", u"http://www.news-journalonline.com/news/florida/rss.xml"), - (u"National/World", - u"http://www.news-journalonline.com/news/nationworld/rss.xml"), - (u"Politics", u"http://www.news-journalonline.com/news/politics/rss.xml"), - (u"News of Record", - u"http://www.news-journalonline.com/news/news-of-record/rss.xml"), - # ###BUSINESS#### - (u"Business", u"http://www.news-journalonline.com/business/rss.xml"), - # (u"Jobs", u"http://www.news-journalonline.com/business/jobs/rss.xml"), - # (u"Markets", u"http://www.news-journalonline.com/business/markets/rss.xml"), - # (u"Real Estate", u"http://www.news-journalonline.com/business/real-estate/rss.xml"), - # (u"Technology", u"http://www.news-journalonline.com/business/technology/rss.xml"), - # ###SPORTS#### - (u"Sports", u"http://www.news-journalonline.com/sports/rss.xml"), - (u"Racing", u"http://www.news-journalonline.com/racing/rss.xml"), - (u"Highschool", u"http://www.news-journalonline.com/sports/highschool/rss.xml"), - (u"College", u"http://www.news-journalonline.com/sports/college/rss.xml"), - (u"Basketball", u"http://www.news-journalonline.com/sports/basketball/rss.xml"), - (u"Football", u"http://www.news-journalonline.com/sports/football/rss.xml"), - (u"Golf", u"http://www.news-journalonline.com/sports/golf/rss.xml"), - (u"Other Sports", - u"http://www.news-journalonline.com/sports/other/rss.xml"), - # ###LIFESTYLE#### - (u"Lifestyle", u"http://www.news-journalonline.com/lifestyle/rss.xml"), - # (u"Fashion", u"http://www.news-journalonline.com/lifestyle/fashion/rss.xml"), - (u"Food", u"http://www.news-journalonline.com/lifestyle/food/rss.xml"), - # (u"Health", u"http://www.news-journalonline.com/lifestyle/health/rss.xml"), - (u"Home and Garden", - u"http://www.news-journalonline.com/lifestyle/home-and-garden/rss.xml"), - (u"Living", u"http://www.news-journalonline.com/lifestyle/living/rss.xml"), - (u"Religion", u"http://www.news-journalonline.com/lifestyle/religion/rss.xml"), - # (u"Travel", u"http://www.news-journalonline.com/lifestyle/travel/rss.xml"), - # ###OPINION#### - # (u"Opinion", u"http://www.news-journalonline.com/opinion/rss.xml"), - # (u"Letters to Editor", u"http://www.news-journalonline.com/opinion/letters-to-the-editor/rss.xml"), - # (u"Columns", u"http://www.news-journalonline.com/columns/rss.xml"), - # (u"Podcasts", u"http://www.news-journalonline.com/podcasts/rss.xml"), - # ###ENTERTAINMENT#### ##Weekly Feature## - (u"Entertainment", u"http://www.go386.com/rss.xml"), - (u"Go Out", u"http://www.go386.com/go/rss.xml"), - (u"Music", u"http://www.go386.com/music/rss.xml"), - (u"Movies", u"http://www.go386.com/movies/rss.xml"), - # (u"Culture", u"http://www.go386.com/culture/rss.xml"), - - ] - - extra_css = ''' - .page-header{font-family:Arial,Helvetica,sans-serif; font-style:bold;font-size:22pt;} - .asset-body{font-family:Helvetica,Arial,sans-serif; font-size:16pt;} - - ''' diff --git a/recipes/dbb.recipe b/recipes/dbb.recipe deleted file mode 100644 index 847fe1d663..0000000000 --- a/recipes/dbb.recipe +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 - -__license__ = 'GPL v3' -__author__ = 'Luis Hernandez' -__copyright__ = 'Luis Hernandez' - -''' -http://www.filmica.com/david_bravo/ -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1294946868(BasicNewsRecipe): - - title = u'Blog de David Bravo' - publisher = u'Filmica' - - __author__ = 'Luis Hernández' - description = 'blog sobre leyes, p2p y copyright' - cover_url = 'http://www.elpais.es/edigitales/image.php?foto=par/portada/1551.jpg' - - oldest_article = 365 - max_articles_per_feed = 100 - - remove_javascript = True - no_stylesheets = True - use_embedded_content = False - - encoding = 'ISO-8859-1' - language = 'es' - timefmt = '[%a, %d %b, %Y]' - - keep_only_tags = [ - dict(name='div', attrs={'class': ['blog', 'date', 'blogbody', 'comments-head', - 'comments-body']}), dict(name='span', attrs={'class': ['comments-post']}) - ] - - remove_tags_before = dict(name='div', attrs={'id': ['bitacoras']}) - remove_tags_after = dict(name='div', attrs={'id': ['comments-body']}) - - extra_css = ' p{text-align: justify; font-size: 100%} body{ text-align: left; font-family: serif; font-size: 100% } h2{ font-family: sans-serif; font-size:75%; font-weight: 800; text-align: justify } h3{ font-family: sans-serif; font-size:150%; font-weight: 600; text-align: left } img{margin-bottom: 0.4em} ' # noqa - - feeds = [(u'Blog', u'http://www.filmica.com/david_bravo/index.rdf')] diff --git a/recipes/de_redactie_be.recipe b/recipes/de_redactie_be.recipe deleted file mode 100644 index 31a0c5cb4c..0000000000 --- a/recipes/de_redactie_be.recipe +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env python - -from calibre.web.feeds.news import BasicNewsRecipe - - -class DeRedactie(BasicNewsRecipe): - title = u'De Redactie.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='div', attrs={'id': 'intro'}), dict(name='h3'), - dict(name='h1'), dict(name='span', attrs={'class': 'media_holder'}), - dict(name='div', attrs={'class': 'divider image'}), - dict(name='div', attrs={'class': 'paragraph'}) - ] - - feeds = [ - (u'Hoofdpunten', u'http://deredactie.be/cm/vrtnieuws?mode=atom'), - (u'Binnenland', u'http://deredactie.be/cm/vrtnieuws/binnenland?mode=atom'), - (u'Politiek', u'http://deredactie.be/cm/vrtnieuws/politiek?mode=atom'), - (u'Buitenland', u'http://deredactie.be/cm/vrtnieuws/buitenland?mode=atom'), ( - u'Cultuur en Media', - u'http://deredactie.be/cm/vrtnieuws/cultuur+en+media?mode=atom' - ), (u'Economie', u'http://deredactie.be/cm/vrtnieuws/economie?mode=atom'), - (u'Ook dat nog', u'http://deredactie.be/cm/vrtnieuws/ookdatnog?mode=atom'), ( - u'Regionaal Antwerpen', - u'http://deredactie.be/cm/vrtnieuws/regio/antwerpen?mode=atom' - ), ( - u'Regionaal Brussel', - u'http://deredactie.be/cm/vrtnieuws/regio/brussel?mode=atom' - ), ( - u'Regionaal Limburg', - u'http://deredactie.be/cm/vrtnieuws/regio/limburg?mode=atom' - ), ( - u'Regionaal Oost-Vlaanderen', - u'http://deredactie.be/cm/vrtnieuws/regio/oostvlaanderen?mode=atom' - ), ( - u'Regionaal Vlaams-Brabant', - u'http://deredactie.be/cm/vrtnieuws/regio/vlaamsbrabant?mode=atom' - ), ( - u'Regionaal West-Vlaanderen', - u'http://deredactie.be/cm/vrtnieuws/regio/westvlaanderen?mode=atom' - ) - ] diff --git a/recipes/deadspin.recipe b/recipes/deadspin.recipe deleted file mode 100644 index c027a3027b..0000000000 --- a/recipes/deadspin.recipe +++ /dev/null @@ -1,34 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, NA' -''' -deadspin.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Deadspin(BasicNewsRecipe): - title = 'Deadspin' - __author__ = 'NA' - description = "Deadspin, Sports News without Access, Favor, or Discretion." - publisher = 'deadspin.com' - category = 'news, sports, meltdowns' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - encoding = 'utf-8' - use_embedded_content = True - language = 'en' - masthead_url = 'http://cache.gawkerassets.com/assets/deadspin.com/img/logo.png' - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - remove_tags = [ - {'class': 'feedflare'}, - ] - - feeds = [(u'Articles', u'http://deadspin.com/rss/vip')] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/defensenews.recipe b/recipes/defensenews.recipe deleted file mode 100644 index a75570182a..0000000000 --- a/recipes/defensenews.recipe +++ /dev/null @@ -1,51 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2011, Darko Miletic ' -''' -www.defensenews.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class DefenseNews(BasicNewsRecipe): - title = 'Defense News' - __author__ = 'Darko Miletic' - description = 'Find late-breaking defense news from the leading defense news weekly' - publisher = 'Gannett Government Media Corporation' - oldest_article = 31 - max_articles_per_feed = 200 - no_stylesheets = True - encoding = 'cp1252' - use_embedded_content = False - language = 'en' - remove_empty_feeds = True - publication_type = 'newspaper' - ignore_duplicate_articles = {'url'} - masthead_url = 'http://www.defensenews.com/images/logo_defensenews2.jpg' - extra_css = """ - body{font-family: Arial,Helvetica,sans-serif } - img{margin-bottom: 0.4em; display:block} - .info{font-size: small; color: gray} - """ - remove_attributes = ['style', 'lang'] - - keep_only_tags = [ - dict(attrs={'class': ['ody-hgroup', 'ody-article']}), - ] - remove_tags = [ - dict(name=['meta', 'link']), - dict(attrs={'class': ['toolbar', 'toolsShareWrap', 'ody-bo-sm ', - 'ody-comments', 'ody-related-links', 'left', 'right']}), - dict(id=['factsMore', 'ody-nextstoryslider']), - ] - - feeds = [ - - (u'Europe', u'http://www.defensenews.com/rss/europe'), - (u'Americas', u'http://www.defensenews.com/rss/americas'), - (u'Asia & Pacific rim', u'http://www.defensenews.com/rss/asia-pacific-rim'), - (u'Middle east & Africa', u'http://www.defensenews.com/rss/middle-east-africa'), - (u'Air', u'http://www.defensenews.com/rss/air-warfare'), - (u'Land', u'http://www.defensenews.com/rss/land-warfare'), - (u'Naval', u'http://www.defensenews.com/rss/naval-warfare') - ] diff --git a/recipes/delco_times.recipe b/recipes/delco_times.recipe deleted file mode 100644 index 249acb2cba..0000000000 --- a/recipes/delco_times.recipe +++ /dev/null @@ -1,24 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class HindustanTimes(BasicNewsRecipe): - title = u'Delcoe Times' - language = 'en' - __author__ = 'Krittika Goyal' - oldest_article = 1 # days - max_articles_per_feed = 25 - use_embedded_content = False - - no_stylesheets = True - auto_cleanup = True - - feeds = [ - ('News', - 'http://www.delcotimes.com/?rss=news'), - ('Sports', - 'http://www.delcotimes.com/?rss=sports'), - ('Business', - 'http://business-news.thestreet.com/the-delaware-county-daily-times/rss/109393'), - ('Entertainment', - 'http://www.delcotimes.com/?rss=entertainment'), - ] diff --git a/recipes/demagog.cz.recipe b/recipes/demagog.cz.recipe deleted file mode 100644 index e5d741f84a..0000000000 --- a/recipes/demagog.cz.recipe +++ /dev/null @@ -1,37 +0,0 @@ -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -from __future__ import unicode_literals - -import re - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class demagogRecipe(BasicNewsRecipe): - __author__ = 'bubak' - title = u'Demagog.cz' - publisher = u'' - description = 'demagog.cz' - oldest_article = 6 - max_articles_per_feed = 20 - use_embedded_content = False - remove_empty_feeds = True - - feeds = [ - (u'Aktuality', u'http://demagog.cz/rss') - ] - - language = 'cs' - cover_url = 'http://demagog.cz/content/images/demagog.cz.png' - remove_javascript = True - no_stylesheets = True - extra_css = """ - .vyrok_suhrn{margin-top:50px; } - .vyrok{margin-bottom:30px; } - """ - - remove_tags = [dict(name='a', attrs={'class': 'vyrok_odovodnenie_tgl'}), - dict(name='img', attrs={'class': 'vyrok_fotografia'})] - remove_tags_before = dict(name='h1') - remove_tags_after = dict(name='div', attrs={'class': 'vyrok_text_after'}) - preprocess_regexps = [(re.compile( - r'(
)', re.DOTALL | re.IGNORECASE), lambda match: '\1
')] diff --git a/recipes/descopera_org.recipe b/recipes/descopera_org.recipe deleted file mode 100644 index fc4483c743..0000000000 --- a/recipes/descopera_org.recipe +++ /dev/null @@ -1,29 +0,0 @@ -# -*- coding: utf-8 -*- -''' -descopera.org -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Descopera(BasicNewsRecipe): - title = u'Descoperă.org' - __author__ = 'Marius Ignătescu' - description = 'Descoperă. Placerea de a cunoaște' - publisher = 'descopera.org' - category = 'science, technology, culture, history, earth' - language = 'ro' - oldest_article = 14 - max_articles_per_feed = 100 - encoding = 'utf8' - no_stylesheets = True - extra_css = ' body{ font-family: Verdana,Helvetica,Arial,sans-serif } .introduction{font-weight: bold} .story-feature{display: block; padding: 0; border: 1px solid; width: 40%; font-size: small} .story-feature h2{text-align: center; text-transform: uppercase} ' # noqa - keep_only_tags = [dict(name='div', attrs={'class': ['post']})] - remove_tags = [dict(name='div', attrs={'class': [ - 'topnav', 'box_a', 'shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge']})] - remove_attributes = ['width', 'height'] - cover_url = 'http://www.descopera.org/wp-content/themes/dorg/styles/default/img/b_top.png?width=400' - feeds = [(u'Articles', u'http://www.descopera.org/feed/')] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/detroit_news.recipe b/recipes/detroit_news.recipe deleted file mode 100644 index ed5dece9b6..0000000000 --- a/recipes/detroit_news.recipe +++ /dev/null @@ -1,74 +0,0 @@ -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1297291961(BasicNewsRecipe): - title = u'Detroit News' - language = 'en' - __author__ = 'DTM' - oldest_article = 2 - max_articles_per_feed = 20 - no_stylesheets = True - conversion_options = { - 'linearize_tables': True, - } - - feeds = [ - (u'Headlines', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss&mime=xml'), - (u'Nation/World', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss09&mime=xml'), - (u'Metro/State', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss36&mime=xml'), - (u'Wayne County', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss01&mime=xml'), - (u'Oakland County', - u'http://www.detnews.com/apps/pbcs.dll/section?category=rss02&mime=xml'), - (u'Macomb County', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss03&mime=xml'), - (u'Livingston County', - u'http://detnews.com/apps/pbcs.dll/section?category=rss04&mime=xml'), - (u'Politics/Government', - u'http://www.detnews.com/apps/pbcs.dll/section?category=rss10&mime=xml'), - (u'Editorials', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss07&mime=xml'), - (u'Columnists', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss43&mime=xml'), - (u'Charlie LeDuff', - u'http://detnews.com/apps/pbcs.dll/section?category=rss54&mime=xml'), - (u'Religion', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss11&mime=xml'), - (u'Technology', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss12&mime=xml'), - (u'Commuting', u'http://detnews.com/apps/pbcs.dll/section?category=rss05&mime=xml'), - (u'Schools', u'http://detnews.com/apps/pbcs.dll/section?category=rss06&mime=xml'), - (u'Obituaries', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss08&mime=xml'), - (u'Autos Insider', u'http://detnews.com/apps/pbcs.dll/section?category=rss25&mime=xml'), - (u'Drive', u'http://detnews.com/apps/pbcs.dll/section?category=rss26&mime=xml'), - (u'Business', u'http://detnews.com/apps/pbcs.dll/section?category=rss21&mime=xml'), - (u'Personal Finance', - u'http://detnews.com/apps/pbcs.dll/section?category=rss23&mime=xml'), - (u'Real Estate', u'http://detnews.com/apps/pbcs.dll/section?category=rss24&mime=xml'), - (u'Movies', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss28&mime=xml'), - (u'TV', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss40&mime=xml'), - (u'Music/Nightlife', - u'http://www.detnews.com/apps/pbcs.dll/section?category=rss30&mime=xml'), - (u'Celebrities', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss51&mime=xml'), - (u'The Arts', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss27&mime=xml'), - (u'Food', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss29&mime=xml'), - (u'Homestyle', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss31&mime=xml'), - (u'The Green Life', - u'http://www.detnews.com/apps/pbcs.dll/section?category=rss53&mime=xml'), - (u'Lifestyle', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss32&mime=xml'), - (u'Health', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss34&mime=xml'), - (u'Travel', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss52&mime=xml'), - (u'Advice', u'http://www.detnews.com/apps/pbcs.dll/section?category=rss50&mime=xml'), - (u'Pistons', u'http://detnews.com/apps/pbcs.dll/section?category=rss13&mime=xml'), - (u'Lions', u'http://detnews.com/apps/pbcs.dll/section?category=rss14&mime=xml'), - (u'Tigers', u'http://detnews.com/apps/pbcs.dll/section?category=rss15&mime=xml'), - (u'Red Wings', u'http://detnews.com/apps/pbcs.dll/section?category=rss16&mime=xml'), - (u'Michigan State', - u'http://detnews.com/apps/pbcs.dll/section?category=rss18&mime=xml'), - (u'University of Michigan', - u'http://detnews.com/apps/pbcs.dll/section?category=rss17&mime=xml'), - (u'Motor Sports', u'http://detnews.com/apps/pbcs.dll/section?category=rss20&mime=xml'), - (u'Golf', u'http://detnews.com/apps/pbcs.dll/section?category=rss47&mime=xml'), - (u'Outdoors', u'http://detnews.com/apps/pbcs.dll/section?category=rss19&mime=xml') - ] - - def print_version(self, url): - p = re.compile(r'(/\d{4}|/-1)/(rss|ENT|LIFESTYLE|OPINION|METRO)\d*') - m = p.search(url) - return url.replace(m.group(), '&template=printart') diff --git a/recipes/diagonal.recipe b/recipes/diagonal.recipe deleted file mode 100644 index 4521b05a0f..0000000000 --- a/recipes/diagonal.recipe +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai -__license__ = 'GPL v3' -__copyright__ = 'Ruben Pollan ' -__docformat__ = 'restructuredtext en' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1335657507(BasicNewsRecipe): - title = u'diagonal' - __author__ = 'Ruben Pollan' - description = 'Periodico quincenal de actualidad critica' - language = 'es' - - oldest_article = 15 - max_articles_per_feed = 100 - auto_cleanup = True - cover_url = u'http://diagonalperiodico.net/IMG/siteon0.jpg' - - feeds = [(u'Panorama', u'http://diagonalperiodico.net/-Panorama-.html?page=backend'), - (u'Global', u'http://diagonalperiodico.net/-Global,104-.html?page=backend'), - (u'Fotonoticia - Galería', - u'http://diagonalperiodico.net/-Fotonoticia-Galeria-.html?page=backend'), - (u'Libertades y Derechos', - u'http://diagonalperiodico.net/-Libertades-y-Derechos,77-.html?page=backend'), - (u'Saberes', u'http://diagonalperiodico.net/-Saberes,78-.html?page=backend'), - (u'En movimiento', - u'http://diagonalperiodico.net/-En-movimiento-.html?page=backend'), - (u'Culturas', u'http://diagonalperiodico.net/-Culturas,89-.html?page=backend'), - (u'Cuerpo', u'http://diagonalperiodico.net/-Cuerpo,99-.html?page=backend'), - (u'La plaza', u'http://diagonalperiodico.net/-La-plaza-.html?page=backend'), - (u'Enfoques', u'http://diagonalperiodico.net/-Enfoques,106-.html?page=backend'), - (u'Humor - Galería', - u'http://diagonalperiodico.net/-Humor-Galeria-.html?page=backend'), - (u'Entrevistas digitales', - u'http://diagonalperiodico.net/-Entrevistas-Digitales-.html?page=backend'), - (u'Cartas a diagonal', - u'http://diagonalperiodico.net/-Cartas-a-Diagonal-.html?page=backend'), - (u'Blogs', u'http://diagonalperiodico.net/-Blogs-.html?page=backend')] - - def get_article_url(self, article): - link = article.get('link') - return 'http://diagonalperiodico.net/' + link diff --git a/recipes/diario_cordoba.recipe b/recipes/diario_cordoba.recipe deleted file mode 100644 index 20259d139d..0000000000 --- a/recipes/diario_cordoba.recipe +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env python - -__license__ = 'GPL v3' -__copyright__ = '2009, Darko Miletic ' -''' -diariocordoba.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Diariosur(BasicNewsRecipe): - title = u'Diario Cordoba' - __author__ = u'Francisco' - description = u'News Cordoba' - oldest_article = 5 - max_articles_per_feed = 100 - delay = 0 - timeout = 120 - no_stylesheets = True - use_embedded_content = False - encoding = 'UTF-8' - remove_javascript = True - language = 'es' - extra_css = 'body{font-family: Arial,Helvetica,sans-serif}' - - remove_attributes = ['height', 'width'] - - keep_only_tags = [ - dict(name='div', attrs={'id': 'contenidos'}) - ] - - remove_tags = [ - dict(name='div', attrs={'class': 'Recorte'}), - dict(name='div', attrs={'id': 'comentarios'}), - dict(name='div', attrs={'id': 'CajaAccesoCuentaUsuario'}), - dict(name='div', attrs={'id': 'cajacomparte'}), - dict(name='div', attrs={'class': 'FormularioDeAcceso'}), - dict(name='div', attrs={'class': 'TextoFormularioDeAcceso'}), - dict(name='div', attrs={'class': 'Recorte'}), - dict(name='div', attrs={'id': 'IframeCajaComparte'}), - dict(name='div', attrs={'id': 'CintilloComentario'}), - dict(name='div', attrs={'id': 'EscribeComentario'}), - dict(name='div', attrs={'class': 'Nota'}), - dict(name='div', attrs={'id': 'FormularioComentario'}), - dict(name='div', attrs={'id': 'Comparte'}), - dict(name='iframe', attrs={'id': 'IframeCajaComparte'}), - dict(name='ul', attrs={'class': 'herramientasDeNoticia'}), - dict(name='div', attrs={'id': 'NoticiaEnPapel'}), - dict(name='div', attrs={'class': 'navegaNoticias'}), - dict(name='p', attrs={'class': 'RecorteEnNoticias'}), - dict(name='ul', attrs={'class': 'herramientasDeNoticia'}), - dict(name='div', attrs={'class': 'navegaNoticias'}), - dict(name='div', attrs={'id': 'CajaComparte'}), - dict(name='div', attrs={'id': 'Comparte'}) - - - - ] - - html2lrf_options = [ - '--comment', description, '--base-font-size', '6', '--category', 'news, Spain', '--ignore-tables' - ] - - feeds = [ - (u'Ultima Hora', 'http://www.diariocordoba.com/rss/ultimahora.xml'), - (u'Tema del Dia', 'http://www.diariocordoba.com/rss/106.xml'), - (u'Local', 'http://www.diariocordoba.com/rss/101.xml'), - (u'Provincia', 'http://www.diariocordoba.com/rss/102.xml'), - (u'Andalucia', 'http://www.diariocordoba.com/rss/1.xml'), - (u'Opinion', 'http://www.diariocordoba.com/rss/100.xml'), - (u'Deportes', 'http://www.diariocordoba.com/rss/4.xml'), - (u'Espa\xc3\xb1a', 'http://www.diariocordoba.com/rss/7.xml'), - (u'Internacional', 'http://www.diariocordoba.com/rss/6.xml'), - (u'Economia', 'http://www.diariocordoba.com/rss/5.xml'), - (u'Cultura', 'http://www.diariocordoba.com/rss/3.xml'), - (u'Sociedad', 'http://www.diariocordoba.com/rss/103.xml'), - (u'Gente', 'http://www.diariocordoba.com/rss/204.xml'), - (u'Noticias Curiosas', 'http://www.diariocordoba.com/rss/205.xml'), - (u'Tecnologia', 'http://www.diariocordoba.com/rss/206.xml') - - - ] diff --git a/recipes/diario_de_noticias.recipe b/recipes/diario_de_noticias.recipe deleted file mode 100644 index 206443f5a8..0000000000 --- a/recipes/diario_de_noticias.recipe +++ /dev/null @@ -1,25 +0,0 @@ -# vim:fileencoding=UTF-8 - -from __future__ import unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1365070687(BasicNewsRecipe): - title = 'Diário de Notícias' - oldest_article = 7 - language = 'pt' - __author__ = 'Jose Pinto' - max_articles_per_feed = 100 - keep_only_tags = [dict(name='div', attrs={'id': 'cln-esqmid'})] - remove_tags = [dict(name='table', attrs={'class': 'TabFerramentasInf'})] - - feeds = [(u'Portugal', u'http://feeds.dn.pt/DN-Portugal'), - (u'Globo', u'http://feeds.dn.pt/DN-Globo'), - (u'Economia', u'http://feeds.dn.pt/DN-Economia'), - (u'Ci\xeancia', u'http://feeds.dn.pt/DN-Ciencia'), - (u'Artes', u'http://feeds.dn.pt/DN-Artes'), - (u'TV & Media', u'http://feeds.dn.pt/DN-Media'), - (u'Opini\xe3o', u'http://feeds.dn.pt/DN-Opiniao'), - (u'Pessoas', u'http://feeds.dn.pt/DN-Pessoas') - ] diff --git a/recipes/diario_extra.recipe b/recipes/diario_extra.recipe deleted file mode 100644 index cacd574fe9..0000000000 --- a/recipes/diario_extra.recipe +++ /dev/null @@ -1,47 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class goonews(BasicNewsRecipe): - __author__ = 'Douglas Delgado' - title = u'Diario Extra' - publisher = 'Sociedad Periodistica Extra Limitada' - description = 'Diario de circulacion nacional de Costa Rica.' - category = 'Spanish, Entertainment' - masthead_url = 'http://www.diarioextra.com/img/apariencia/logo.png' - - oldest_article = 7 - delay = 1 - max_articles_per_feed = 100 - auto_cleanup = True - encoding = 'utf-8' - language = 'es_CR' - use_embedded_content = False - remove_empty_feeds = True - remove_javascript = True - no_stylesheets = True - - feeds = [(u'Nacionales', - u'http://www.diarioextra.com/includes/rss_text.php?id=1'), - (u'Internacionales', - u'http://www.diarioextra.com/includes/rss_text.php?id=2'), - (u'Sucesos', - u'http://www.diarioextra.com/includes/rss_text.php?id=3'), - (u'Deportes', - u'http://www.diarioextra.com/includes/rss_text.php?id=6'), - (u'Espectaculos', - u'http://www.diarioextra.com/includes/rss_text.php?id=7'), - (u'Opinion', - u'http://www.diarioextra.com/includes/rss_text.php?id=4')] - - def get_cover_url(self): - index = 'http://kiosko.net/cr/np/cr_extra.html' - soup = self.index_to_soup(index) - for image in soup.findAll('img', src=True): - if image['src'].endswith('cr_extra.750.jpg'): - return image['src'] - return None - - extra_css = ''' - h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:30px;} - h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal; font-style:italic; font-size:18px;} - ''' diff --git a/recipes/diario_la_republica.recipe b/recipes/diario_la_republica.recipe deleted file mode 100644 index dfcc62d373..0000000000 --- a/recipes/diario_la_republica.recipe +++ /dev/null @@ -1,13 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1317341449(BasicNewsRecipe): - title = u'Diario La Republica' - __author__ = 'CAVALENCIA' - oldest_article = 7 - max_articles_per_feed = 100 - auto_cleanup = True - language = 'es_CO' - - feeds = [(u'Diario La Republica', - u'http://www.larepublica.com.co/rss/larepublica.xml')] diff --git a/recipes/digit_magazine.recipe b/recipes/digit_magazine.recipe deleted file mode 100644 index 66c1c5890a..0000000000 --- a/recipes/digit_magazine.recipe +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 -from calibre.web.feeds.news import BasicNewsRecipe, classes - - -class Digit(BasicNewsRecipe): - title = u'Digit Magazine' - description = 'Digit caters to the largest community of tech buyers, users and enthusiasts in India.' - language = 'en_IN' - __author__ = 'unkn0wn' - oldest_article = 30 # days - max_articles_per_feed = 50 - encoding = 'utf-8' - use_embedded_content = False - no_stylesheets = True - masthead_url = 'https://www.digit.in/images/digit_logo.png' - remove_attributes = ['style', 'height', 'width'] - ignore_duplicate_articles = {'title', 'url'} - - def get_cover_url(self): - soup = self.index_to_soup( - 'https://store.digit.in/cart.php?category_id=139&year=' - ) - tag = soup.find(attrs={'class': 'previous-magazines'}) - if tag: - self.cover_url = tag.find('img')['src'] - return super().get_cover_url() - - keep_only_tags = [ - classes( - 'big_img_container highlights_cont Top-sponsered Text-sponsered heading-wraper article_video' - 'article-inside-container skoar_desc New-desk pros-Cons Review-reting For-table col-md-7' - 'review-inside-container price_wrap key_specifications' - ), - ] - - remove_tags = [ - classes( - 'adsAdvert Video-wraper article_share auth_social breadcrumbwrap textads_list rel_articles_container' - ), - ] - - feeds = [ - ('Features', 'http://feeds.feedburner.com/digit/latest-features'), - ('Reviews', 'http://feeds.feedburner.com/digit/latest-review'), - ('Laptops', 'https://feeds.feedburner.com/digit/latest-laptops'), - ('PC Components', 'https://feeds.feedburner.com/digit/latest-pc-components'), - ('Tablets', 'https://feeds.feedburner.com/digit/latest-tablets'), - ('TVs', 'https://feeds.feedburner.com/digit/latest-tvs'), - ( - 'Wearable devices', - 'https://feeds.feedburner.com/digit/latest-wearable-devices' - ), - ('How-to', 'https://feeds.feedburner.com/digit/how-to'), - ('Entertainment', 'https://feeds.feedburner.com/digit/latest-entertainment'), - ('Gaming', 'http://feeds.feedburner.com/digit/latest-gaming'), - ('Software', 'https://feeds.feedburner.com/digit/latest-software'), - ('Audio-Video', 'https://feeds.feedburner.com/digit/latest-audio-video'), - # ('Apps', 'https://feeds.feedburner.com/digit/latest-apps'), - # ('Mobile Phones', 'https://feeds.feedburner.com/digit/latest-mobile-phones'), - # For more : https://www.digit.in/rss-feed/ - ] diff --git a/recipes/digital_arts.recipe b/recipes/digital_arts.recipe deleted file mode 100644 index 4e497f196f..0000000000 --- a/recipes/digital_arts.recipe +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env python -__license__ = 'GPL v3' -__author__ = 'Lorenzo Vigentini' -__copyright__ = '2009, Lorenzo Vigentini ' -__version__ = 'v1.01' -__date__ = '14, January 2010' - -''' -http://media.digitalartsonline.co.uk/ -''' - -from calibre.web.feeds.news import BasicNewsRecipe - -temp_files = [] -articles_are_obfuscated = True - - -class digiArts(BasicNewsRecipe): - __author__ = 'Lorenzo Vigentini' - description = ('Digital Arts - comprehensive coverage of the art of ' - 'graphic design, 3D, animation, video, effects, web and ' - 'interactive design, in print and online.') # noqa - cover_url = 'http://media.digitalartsonline.co.uk/graphics/logo_digital_arts.gif' - - title = 'Digital Arts Magazine ' - publisher = 'IDG Communication' - category = ('Multimedia, photo, video, computing, product reviews, ' - 'editing, cameras, production') - - language = 'en' - encoding = 'cp1252' - timefmt = '[%a, %d %b, %Y]' - - oldest_article = 30 - max_articles_per_feed = 100 - use_embedded_content = False - recursion = 10 - - remove_javascript = True - no_stylesheets = True - auto_cleanup = False - - keep_only_tags = [ - dict(name='h1', attrs={'itemprop': 'headline'}), - dict(name='span', attrs={'itemprop': 'author'}), - dict(name='section', attrs={'class': 'articleBody'}), - ] - - # Feed are found here: http://www.digitalartsonline.co.uk/rss/ - feeds = [ - ('Latest News Articles', - 'http://www.digitalartsonline.co.uk/rss/feeds/digitalarts-news.xml'), - ('Latest Tutorials', - 'http://www.digitalartsonline.co.uk/rss/feeds/digitalarts-tutorials.xml'), - ('Latest Reviews', - 'http://www.digitalartsonline.co.uk/rss/feeds/digitalarts-reviews.xml'), - ('Latest Features', - 'http://www.digitalartsonline.co.uk/rss/feeds/digitalarts-features.xml'), - ] diff --git a/recipes/digitaljournal.recipe b/recipes/digitaljournal.recipe deleted file mode 100644 index a0955154bf..0000000000 --- a/recipes/digitaljournal.recipe +++ /dev/null @@ -1,51 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' -''' -digitaljournal.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class DigitalJournal(BasicNewsRecipe): - title = 'Digital Journal' - __author__ = 'Darko Miletic' - description = 'A Global Citizen Journalism News Network' - category = 'news, politics, USA, world' - publisher = 'Digital Journal' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'utf8' - language = 'en' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - keep_only_tags = [ - dict(id='article_text'), - ] - - remove_tags = [ - dict(attrs={'class': lambda x: x and 'article-top-social' in x}), - ] - - feeds = [ - - (u'Latest News', u'http://digitaljournal.com/rss/?feed=latest_news'), - (u'Business', u'http://digitaljournal.com/rss/?feed=top_news&depname=Business'), - (u'Entertainment', u'http://digitaljournal.com/rss/?feed=top_news&depname=Entertainment'), - (u'Environment', u'http://digitaljournal.com/rss/?feed=top_news&depname=Environment'), - (u'Food', u'http://digitaljournal.com/rss/?feed=top_news&depname=Food'), - (u'Health', u'http://digitaljournal.com/rss/?feed=top_news&depname=Health'), - (u'Internet', u'http://digitaljournal.com/rss/?feed=top_news&depname=Internet'), - (u'Politics', u'http://digitaljournal.com/rss/?feed=top_news&depname=Politics'), - (u'Religion', u'http://digitaljournal.com/rss/?feed=top_news&depname=Religion'), - (u'Science', u'http://digitaljournal.com/rss/?feed=top_news&depname=Science'), - (u'Sports', u'http://digitaljournal.com/rss/?feed=top_news&depname=Sports'), - (u'Technology', u'http://digitaljournal.com/rss/?feed=top_news&depname=Technology'), - (u'World', u'http://digitaljournal.com/rss/?feed=top_news&depname=World'), - (u'Arts', u'http://digitaljournal.com/rss/?feed=top_news&depname=Arts') - ] diff --git a/recipes/digitalspy_uk.recipe b/recipes/digitalspy_uk.recipe deleted file mode 100644 index c461d3fa0a..0000000000 --- a/recipes/digitalspy_uk.recipe +++ /dev/null @@ -1,41 +0,0 @@ - -__license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' -''' -www.digitalspy.co.uk -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class DigitalSpyUK(BasicNewsRecipe): - title = 'Digital Spy - UK Edition' - __author__ = 'Darko Miletic' - description = 'Entertainment news about the biggest TV shows, films and celebrities, updated around the clock.' - publisher = 'Digital Spy Limited.' - category = 'news, showbiz, big brother, x factor, torchwood, doctor who, tv, media, sky, freeview, cable' - oldest_article = 2 - max_articles_per_feed = 100 - no_stylesheets = True - encoding = 'cp1252' - use_embedded_content = False - language = 'en_GB' - remove_empty_feeds = True - extra_css = ' body{font-family: Verdana,Arial,Helvetica,sans-serif } img{margin-bottom: 0.4em} .info{font-size: small} ' - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - remove_tags = [dict(name=['link'])] - remove_attributes = ['height', 'width'] - keep_only_tags = [dict(name='div', attrs={'id': 'content'})] - - feeds = [ - - (u'News', u'http://www.digitalspy.co.uk/rss/zones/gb/all.xml'), - (u'Big Brother', u'http://www.digitalspy.co.uk/rss/zones/gb/bigbrother.xml'), - (u'Entertainment', u'http://www.digitalspy.co.uk/rss/zones/gb/entertainment.xml'), - (u'General', u'http://www.digitalspy.co.uk/rss/zones/gb/general.xml'), - (u'Media', u'http://www.digitalspy.co.uk/rss/zones/gb/media.xml') - ] diff --git a/recipes/dilbert.recipe b/recipes/dilbert.recipe deleted file mode 100644 index 60a93d64f8..0000000000 --- a/recipes/dilbert.recipe +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env python -# vim:fileencoding=utf-8 - -import os -import tempfile - -from calibre.web.feeds.recipes import BasicNewsRecipe - - -class Dilbert(BasicNewsRecipe): - title = u'Dilbert' - __author__ = 'TechnoCat' - description = 'Dilbert, by Scott Adams. Includes last three or so comics and blog entries.' - cover_url = 'http://dilbert.com/assets/dilbert-logo-4152bd0c31f7de7443b4bc90abd818da.png' - auto_cleanup = True - encoding = 'utf8' - language = 'en' - needs_subscription = False - no_stylesheets = True - oldest_article = 7 - remove_javascript = True - recursions = 0 - max_articles_per_feed = 20 - debugMessages = True - BASE_URL = 'http://dilbert.com' # Note no www. - COMIC_DIV_TAG = 'img-comic-container' - BLOG_DIV_TAG = 'media' - tempfiles = [] - - # Creates a temp file for the wrapped image url - def writeImage(self, title, imageURL) : - tempFile = tempfile.NamedTemporaryFile(delete=False) - self.tempfiles.append(tempFile) - tempFile.write(''+title+'') - tempFile.write(imageURL.prettify()) - tempFile.write('') - tempFile.flush() - tempFile.close() - return tempFile.name - - def cleanUpTempFiles(self): - for tempFile in self.tempfiles: - tempFile.close() - os.unlink(tempFile.name) - - def cleanup(self): - self.cleanUpTempFiles() - - # Extract comic links from the soup - # Returns a list of comics (articles) as: - # { - # 'title' : article title, - # 'url' : URL of print version, - # 'date' : The publication date of the article as a string, - # 'description' : A summary of the article - # 'content' : The full article (can be an empty string). This is used by FullContentProfile - # } - def comicFeed(self, soup) : - feedset = [] - for comicContainer in soup.findAll('div', {'class': self.COMIC_DIV_TAG}) : - comic = comicContainer.find('img') - if comic is not None: - filelink = self.writeImage(comic['alt'], comic) - feedset.append( - dict(title=comic['alt'], url='file://'+filelink, description=comic['alt'], content='')) - return feedset - - def blogFeed(self, soup) : - feedset = [] - for blogContainer in soup.findAll('div', {'class': self.BLOG_DIV_TAG}) : - blog = blogContainer.find('a', {'class':'link-blended'}) - if blog is not None: - feedset.append( - dict(title=blog['title'], url=blog['href'], description=blog['title'], content='')) - return feedset - - def parse_index(self): - root = self.index_to_soup(self.BASE_URL) - comics = self.comicFeed(root) - blogs = self.blogFeed(root) - return [('Comics', comics), ('Blog Entries', blogs)] diff --git a/recipes/dilemaveche.recipe b/recipes/dilemaveche.recipe deleted file mode 100644 index e4633c0c61..0000000000 --- a/recipes/dilemaveche.recipe +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -from __future__ import print_function - -__license__ = 'GPL v3' -__copyright__ = u'2014-01-09, Silviu Cotoar\u0103, Marius Popescu' -''' -dilemaveche.ro -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class DilemaVeche(BasicNewsRecipe): - # apare vinerea, mai pe dupa-masa,depinde de Luiza cred (care se semneaza - # ca fiind creatorul fiecarui articol in feed-ul RSS) - title = u'Dilema Veche' - # inspirat din scriptul pentru Le Monde. Inspired from the Le Monde script - __author__ = 'song2' - description = '"Sint vechi, domnule!" (I.L. Caragiale)' - publisher = 'Adevarul Holding' - oldest_article = 7 - language = 'ro' - max_articles_per_feed = 150 - encoding = 'utf-8' - simultaneous_downloads = 5 - masthead_url = 'http://www.dilemaveche.ro/sites/all/themes/dilema/theme/dilema_two/layouter/dilema_two_homepage/logo.png' - needs_subscription = True - use_embedded_content = False - publication_type = 'magazine' - remove_javascript = True - no_stylesheets = True - remove_empty_feeds = True - feeds = [ - ('Editoriale si opinii - Situatiunea', - 'http://www.dilemaveche.ro/taxonomy/term/37/0/feed'), - ('Editoriale si opinii - Pe ce lume traim', - 'http://www.dilemaveche.ro/taxonomy/term/38/0/feed'), - ('Editoriale si opinii - Bordeie si obiceie', - 'http://www.dilemaveche.ro/taxonomy/term/44/0/feed'), - ('Editoriale si opinii - Talc Show', - 'http://www.dilemaveche.ro/taxonomy/term/39/0/feed'), - ('Tema saptamanii', 'http://www.dilemaveche.ro/taxonomy/term/19/0/feed'), - ('La zi in cultura - Dilema va recomanda', - 'http://www.dilemaveche.ro/taxonomy/term/58/0/feed'), - ('La zi in cultura - Carte', - 'http://www.dilemaveche.ro/taxonomy/term/14/0/feed'), - ('La zi in cultura - Film', - 'http://www.dilemaveche.ro/taxonomy/term/13/0/feed'), - ('La zi in cultura - Muzica', - 'http://www.dilemaveche.ro/taxonomy/term/1341/0/feed'), - ('La zi in cultura - Arte performative', - 'http://www.dilemaveche.ro/taxonomy/term/1342/0/feed'), - ('La zi in cultura - Arte vizuale', - 'http://www.dilemaveche.ro/taxonomy/term/1512/0/feed'), - ('Societate - Ieri cu vedere spre azi', - 'http://www.dilemaveche.ro/taxonomy/term/15/0/feed'), - ('Societate - Din polul opus', - 'http://www.dilemaveche.ro/taxonomy/term/41/0/feed'), - ('Societate - Mass comedia', - 'http://www.dilemaveche.ro/taxonomy/term/43/0/feed'), - ('Societate - La singular si la plural', - 'http://www.dilemaveche.ro/taxonomy/term/42/0/feed'), - ('Oameni si idei - Educatie', - 'http://www.dilemaveche.ro/taxonomy/term/46/0/feed'), - ('Oameni si idei - Polemici si dezbateri', - 'http://www.dilemaveche.ro/taxonomy/term/48/0/feed'), - ('Oameni si idei - Stiinta si tehnologie', - 'http://www.dilemaveche.ro/taxonomy/term/47/0/feed'), - # online only articles - ('Dileme on-line', 'http://www.dilemaveche.ro/taxonomy/term/5/0/feed'), - # once per month, 6-7 day of the month - ('Dilemateca', 'http://dilemaveche.ro/taxonomy/term/21/0/feed'), - # children, once-twice per year - ('Dilematix', 'http://dilemaveche.ro/taxonomy/term/20/0/feed'), - ('Dilema Studiilor Postuniversitare', - 'http://dilemaveche.ro/taxonomy/term/1635/0/feed') # once per year, July - ] - remove_tags_before = dict(name='div', attrs={'class': 'spacer_10'}) - remove_tags = [ - dict(name='div', attrs={'id': ['adshop_widget_428x60']}), - dict(name='div', attrs={'id': ['gallery']}), - dict(name='div', attrs={'class': ['art_related_left']}), - dict(name='a', attrs={'class': ['prevPage']}), - dict(name='a', attrs={'class': ['nextPage']}), - dict(name='div', attrs={'class': ['article_details']}), - dict(name='div', attrs={'id': ['comments']}), - dict(name='ul', attrs={'class': ['social-buttons-list']}), - dict(name='a', attrs={'class': ['editie']}), - dict(name='div', attrs={'class': 'simple_overlay'}), - dict(name='div', attrs={'class': 'c_right_column'}), - dict(name='div', attrs={'id': 'content_right'}), - dict(name='div', attrs={'class': 'box_shadow_top'}), - dict(name='div', attrs={'class': 'box_shadow_bottom'}), - dict(name='div', attrs={'id': ['footer']}), - dict(name='div', attrs={'class': ['clear spacer_20']}), - dict(name='div', attrs={'id': ['adh-footer']}), - dict(name='div', attrs={'id': ['skyright']}), - dict(name='div', attrs={'id': ['closure']}) - ] - remove_tags_after = [ - dict(name='div', attrs={'id': ['adshop_widget_428x60']}) - ] - extra_css = """ - body{font-family: Georgia,Times,serif } - img{margin-bottom: 0.4em; display:block} - """ - - def get_browser(self): - br = BasicNewsRecipe.get_browser(self) - if self.username is not None and self.password is not None: - br.open( - 'http://pay.dilemaveche.ro/autentificare/?redirect=http%3A%2F%2Fdilemaveche.ro%2F%2F&return=true') - br.select_form(nr=0) - br['username'] = self.username - br['password'] = self.password - br.submit() - return br - - def preprocess_html(self, soup): - return self.adeify_images(soup) - - def get_cover_url(self): - # small, from the current number article: http://dilemaveche.ro/sites/default/files/imagecache/articol_teaser/DV517web-1_copy.JPG - # medium, from the homepage PDF link: http://dilemaveche.ro/sites/default/files/imagecache/editie_small/DV517web-1_copy_0.JPG - # big, from the current number article, click on the samll image: - # http://dilemaveche.ro/sites/default/files/imagecache/image_gallery_large/DV517web-1_copy.JPG - cover_url = None - soup = self.index_to_soup('http://dilemaveche.ro') - link_item = soup.find('div', attrs={'class': 'box_dr_pdf_picture'}) - if link_item and link_item.a: - cover_url = link_item.a['href'] - br = BasicNewsRecipe.get_browser(self) - try: - br.open(cover_url) - except: # daca nu gaseste pdf-ul - self.log("\nPDF indisponibil") - link_item = soup.find('div', attrs={'class': 'box_dr_pdf_picture'}) - if link_item and link_item.img: - cover_url = link_item.img['src'] - br = BasicNewsRecipe.get_browser(self) - try: - br.open(cover_url) - except: # daca nu gaseste nici imaginea mica mica - print('nu este nici pdf nici imagine') - cover_url = 'http://www.dilemaveche.ro/sites/all/themes/dilema/theme/dilema_two/layouter/dilema_two_homepage/logo.png' - return cover_url - cover_margins = (10, 15, '#ffffff') diff --git a/recipes/dingoo_a320.recipe b/recipes/dingoo_a320.recipe deleted file mode 100644 index f0f4a1c08e..0000000000 --- a/recipes/dingoo_a320.recipe +++ /dev/null @@ -1,25 +0,0 @@ -# vim:fileencoding=UTF-8 -from __future__ import unicode_literals - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Dingoo(BasicNewsRecipe): - language = 'ru' - __author__ = 'bug_me_not' - title = u'Dingoo A320. \u0420\u0443\u0441\u0441\u043a\u0438\u0439 \u0440\u0435\u0441\u0443\u0440\u0441' - description = 'Портативная игровая консоль Dingoo A320 и другие необычные гаджеты' - publisher = 'Emulate.SU' - category = 'console' - cover_url = u'http://upload.wikimedia.org/wikipedia/commons/thumb/0/02/Dingoo_A320_White.jpg/300px-Dingoo_A320_White.jpg' - no_stylesheets = False - remove_javascript = True - - oldest_article = 20 - max_articles_per_feed = 200 - - feeds = [(u'A320', u'http://feeds.feedburner.com/ru_dingoo')] - - remove_tags_before = dict(name='div', attrs={'class': 'posttitle'}) - remove_tags_after = dict(name='div', attrs={'class': 'article'}) - remove_tags = [dict(name='iframe')] diff --git a/recipes/divahair.recipe b/recipes/divahair.recipe deleted file mode 100644 index fc0249d506..0000000000 --- a/recipes/divahair.recipe +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = u'2011, Silviu Cotoar\u0103' -''' -divahair.ro -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class DivaHair(BasicNewsRecipe): - title = u'Diva Hair' - language = 'ro' - __author__ = u'Silviu Cotoar\u0103' - description = u'Coafuri, frizuri, tunsori ..' - publisher = u'Diva Hair' - category = u'Ziare,Stiri,Coafuri,Femei' - 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.divahair.ro/imgs/logo.jpg' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - keep_only_tags = [ - dict(name='td', attrs={'class': 'spatiuart'}), dict( - name='div', attrs={'class': 'spatiuart'}) - ] - - remove_tags = [ - dict(name='div', attrs={'class': 'categorie'}), dict(name='div', attrs={ - 'class': 'gri gri2 detaliiart'}), dict(name='div', attrs={'class': 'articol_box_bottom'}) - ] - - remove_tags_after = [ - dict(name='div', attrs={'class': 'articol_box_bottom'}) - ] - - feeds = [(u'\u0218tiri', u'http://www.divahair.ro/feed')] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/djurslandsposten_dk.recipe b/recipes/djurslandsposten_dk.recipe deleted file mode 100644 index 31c5b80441..0000000000 --- a/recipes/djurslandsposten_dk.recipe +++ /dev/null @@ -1,26 +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 - -''' -DjurslandsPosten -''' - - -class DjurslandsPosten_dk(BasicNewsRecipe): - __author__ = 'CoderAllan.github.com' - title = 'DjurslandsPosten' - description = 'Lokale og regionale nyheder' - category = 'newspaper, news, localnews, Denmark' - oldest_article = 7 - max_articles_per_feed = 50 - auto_cleanup = True - language = 'da' - - feeds = [ - ('Nyheder', 'http://www.dinby.dk/djurslandsposten/rss'), - ] - diff --git a/recipes/dnevnik.recipe b/recipes/dnevnik.recipe deleted file mode 100644 index 417c5ef542..0000000000 --- a/recipes/dnevnik.recipe +++ /dev/null @@ -1,65 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2010, BlonG' -''' -dnevnik.si -''' -from calibre.web.feeds.news import BasicNewsRecipe - - -class Dnevnik(BasicNewsRecipe): - title = u'Dnevnik.si' - __author__ = u'BlonG' - description = u'''Dnevnik je \u010dasnik z ve\u010d kot polstoletno zgodovino. - Pod sloganom \xbb\u017divljenje ima besedo\xab na svojih straneh prina\u0161a - bralcem bogastvo informacij, komentarjev in kolumen in raznovrstnost - pogledov, zaznamovanih z odgovornostjo do posameznika in \u0161ir\u0161e - dru\u017ebe.''' - oldest_article = 3 - max_articles_per_feed = 20 - language = 'sl' - no_stylesheets = True - use_embedded_content = False - - cover_url = 'https://sites.google.com/site/javno2010/home/dnevnik_cover.jpg' - - 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;} - p{font-family:Arial,Helvetica,sans-serif;font-size:small;} - body{font-family:Helvetica,Arial,sans-serif;font-size:small;} - ''' - - keep_only_tags = [ - dict(name='div', attrs={'id': '_iprom_inStream'}), - dict(name='div', attrs={'class': 'entry-content'}), - ] - - remove_tags = [ - dict(name='div', attrs={'class': 'fb_article_top'}), - dict(name='div', attrs={'class': 'related'}), - dict(name='div', attrs={'class': 'fb_article_foot'}), - dict(name='div', attrs={'class': 'spreading'}), - dict(name='dl', attrs={'class': 'ad'}), - dict(name='p', attrs={'class': 'report'}), - dict(name='div', attrs={'class': 'hfeed comments'}), - dict(name='dl', attrs={'id': 'entryPanel'}), - dict(name='dl', attrs={'class': 'infopush ip_wide'}), - dict(name='div', attrs={'class': 'sidebar'}), - dict(name='dl', attrs={'class': 'bottom'}), - dict(name='div', attrs={'id': 'footer'}), - ] - - feeds = [ - - (u'Slovenija', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=13'), - (u'Svet', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=14'), - (u'EU', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=116'), - (u'Poslovni dnevnik', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=5'), - (u'Kronika', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=15'), - (u'Kultura', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=17'), - (u'Zdravje', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=18'), - (u'Znanost in IT', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=19'), - (u'(Ne)verjetno', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=20'), - (u'E-strada', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=21'), - (u'Svet vozil', u'http://www.dnevnik.si/rss/?articleType=1&articleSection=22') - ] diff --git a/recipes/dnevnik_mk.recipe b/recipes/dnevnik_mk.recipe deleted file mode 100644 index b20ff45d26..0000000000 --- a/recipes/dnevnik_mk.recipe +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env python -from __future__ import print_function - -__author__ = 'Darko Spasovski' -__license__ = 'GPL v3' -__copyright__ = '2011, Darko Spasovski ' -''' -dnevnik.com.mk -''' - -import datetime -import re - -from calibre import browser -from calibre.ebooks.BeautifulSoup import BeautifulSoup -from calibre.web.feeds.news import BasicNewsRecipe - - -class Dnevnik(BasicNewsRecipe): - - INDEX = 'http://www.dnevnik.com.mk' - __author__ = 'Darko Spasovski' - title = 'Dnevnik - mk' - description = 'Daily Macedonian newspaper' - masthead_url = 'http://www.dnevnik.com.mk/images/re-logo.gif' - language = 'mk' - publication_type = 'newspaper' - category = 'news, Macedonia' - max_articles_per_feed = 100 - remove_javascript = True - no_stylesheets = True - use_embedded_content = False - - preprocess_regexps = [(re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in - [ - # Remove anything before the start of the article. - (r'', lambda match: ''), - - # Remove anything after the end of the article. - (r'', re.IGNORECASE | - re.DOTALL), lambda match: ''), - (re.compile(r'.*?', re.IGNORECASE | - re.DOTALL), lambda match: ''), - (re.compile(r'.*?', re.IGNORECASE | - re.DOTALL), lambda match: ''), - (re.compile(r'.*?', re.IGNORECASE | - re.DOTALL), lambda match: ''), - (re.compile(r'.*?', re.IGNORECASE | - re.DOTALL), lambda match: ''), - (re.compile(r'.*?', re.IGNORECASE | - re.DOTALL), lambda match: ''), - (re.compile(r'.*?', re.IGNORECASE | - re.DOTALL), lambda match: ''), - (re.compile(r'.*?', re.IGNORECASE | - re.DOTALL), lambda match: ''), - (re.compile(r'.*?', re.IGNORECASE | - re.DOTALL), lambda match: ''), - (re.compile(r'SUBSCRIBE TO EMPIRE.*?', - re.IGNORECASE | re.DOTALL), lambda match: ''), - (re.compile(r'.*?', re.IGNORECASE | - re.DOTALL), lambda match: ''), - (re.compile(r'Advertisement', re.IGNORECASE | re.DOTALL), lambda match: ''), - (re.compile(r'Get your at http://www.thumbalizr.com/ and put here - LANGUAGE = 'pt_br' - language = 'pt' - LANGHTM = 'pt-br' - ENCODING = 'utf' - ENCHTM = 'utf-8' - directionhtm = 'ltr' - requires_version = (0, 7, 47) - news = True - - title = u'Estad\xe3o' - __author__ = 'Euler Alves' - description = u'Brazilian news from Estad\xe3o' - publisher = u'Estad\xe3o' - category = 'news, rss' - - oldest_article = 4 - max_articles_per_feed = 100 - summary_length = 1000 - - remove_javascript = True - no_stylesheets = True - use_embedded_content = False - remove_empty_feeds = True - timefmt = ' [%d %b %Y (%a)]' - - hoje = datetime.now() - timedelta(days=2) - pubdate = hoje.strftime('%a, %d %b') - if hoje.hour < 10: - hoje = hoje - timedelta(days=1) - CAPA = 'http://www.estadao.com.br/estadaodehoje/' + \ - hoje.strftime('%Y%m%d') + '/img/capadodia.jpg' - SCREENSHOT = 'http://estadao.com.br/' - cover_margins = (0, 0, 'white') - masthead_url = 'http://www.estadao.com.br/estadao/novo/img/logo.png' - - keep_only_tags = [ - dict(name='div', attrs={'class': ['bb-md-noticia', 'corpo']})] - remove_tags = [ - dict(name='div', - attrs={'id': [ - 'bb-md-noticia-tabs' - ]}), dict(name='div', - attrs={'class': [ - 'tags', 'discussion', 'bb-gg adsense_container' - ]}), dict(name='a'), dict(name='iframe'), dict(name='link'), dict(name='script') - ] - - feeds = [ - - (u'\xDAltimas Not\xEDcias', u'http://www.estadao.com.br/rss/ultimas.xml'), - (u'Manchetes', u'http://www.estadao.com.br/rss/manchetes.xml'), - (u'Brasil', u'http://www.estadao.com.br/rss/brasil.xml'), - (u'Internacional', u'http://www.estadao.com.br/rss/internacional.xml'), - (u'Cinema', u'http://blogs.estadao.com.br/cinema/feed/'), - (u'Planeta', u'http://www.estadao.com.br/rss/planeta.xml'), - (u'Ci\xEAncia', u'http://www.estadao.com.br/rss/ciencia.xml'), - (u'Sa\xFAde', u'http://www.estadao.com.br/rss/saude.xml'), - (u'Pol\xEDtica', u'http://www.estadao.com.br/rss/politica.xml') - ] - - conversion_options = { - 'title': title, 'comments': description, 'publisher': publisher, 'tags': category, 'language': LANGUAGE, 'linearize_tables': True - } - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - if not soup.find(attrs={'http-equiv': 'Content-Language'}): - meta0 = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Language"), ("content", self.LANGHTM)]) - soup.head.insert(0, meta0) - if not soup.find(attrs={'http-equiv': 'Content-Type'}): - meta1 = new_tag(soup, 'meta', [ - ("http-equiv", "Content-Type"), ("content", "text/html; charset=" + self.ENCHTM)]) - soup.head.insert(0, meta1) - return soup - - def postprocess_html(self, soup, first): - # process all the images. assumes that the new html has the correct - # path - for tag in soup.findAll('img', src=True): - iurl = tag['src'] - img = Image() - img.open(iurl) - width, height = img.size - print('img is: ', iurl, 'width is: ', width, 'height is: ', height) - if img < 0: - raise RuntimeError('Out of memory') - pw = PixelWand() - if(width > height and width > 590): - print('Rotate image') - img.rotate(pw, -90) - img.save(iurl) - return soup - - def get_cover_url(self): - if self.THUMBALIZR_API: - cover_url = self.CAPA - try: - soup = self.index_to_soup(cover_url) - cover_item = soup.find('body') - if cover_item: - cover_url = 'http://api.thumbalizr.com/?api_key=' + self.THUMBALIZR_API + \ - '&url=' + self.SCREENSHOT + '&width=600&quality=90' - return cover_url - except Exception: - cover_url = 'http://api.thumbalizr.com/?api_key=' + self.THUMBALIZR_API + \ - '&url=' + self.SCREENSHOT + '&width=600&quality=90' - return cover_url diff --git a/recipes/eu_commission.recipe b/recipes/eu_commission.recipe deleted file mode 100644 index c2f5e395da..0000000000 --- a/recipes/eu_commission.recipe +++ /dev/null @@ -1,60 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - -LANGUAGE = 'de' - - -def feedlink(num): - return u'http://europa.eu/rapid/syndication/QuickRSSAction.do?id=' +\ - str(num) + '&lang=' + LANGUAGE - - -class EUCommissionPress(BasicNewsRecipe): - title = u'Pressemitteilungen der EU Kommission pro Politikbereich' - oldest_article = 7 - max_articles_per_feed = 100 - no_stylesheets = True - cover_url = 'http://ec.europa.eu/wel/template_2007/images/banners/banner-background.jpg' - __author__ = 'malfi' - language = LANGUAGE - keep_only_tags = [] - keep_only_tags.append( - dict(name='div', attrs={'class': 'pressReleaseContentMain'})) - remove_tags = [] - - feeds = [ - (u'Pressemitteilung des Tages', feedlink(64)), - (u'Presidency', feedlink(137)), - (u'Foreign affairs and security policy', feedlink(138)), - (u'Agriculture and rural development', feedlink(139)), - (u'Budget and financial programming ', feedlink(140)), - (u'Climate action', feedlink(141)), - (u'Competition', feedlink(142)), - (u'Development', feedlink(143)), - (u'Digital agenda', feedlink(144)), - (u'Economic and monetary affairs', feedlink(145)), - (u'Education, culture, multilingualism and youth ', feedlink(146)), - (u'Employment, social Affairs and inclusion ', feedlink(147)), - (u'Energy', feedlink(148)), - (u'Enlargment and European neighbourhood policy ', feedlink(149)), - (u'Environment', feedlink(150)), - (u'Health and consumer policy', feedlink(151)), - (u'Home affairs', feedlink(152)), - (u'Industry and entrepreneurship', feedlink(153)), - (u'Inter-Institutional relations and administration', feedlink(154)), - (u'Internal market and services', feedlink(155)), - (u'International cooperation, humanitarian aid and crisis response', feedlink( - 156)), - (u'Justice, fundamental rights and citizenship', feedlink(157)), - (u'Maritime affairs and fisheries', feedlink(158)), - (u'Regional policy', feedlink(159)), - (u'Research and innovation', feedlink(160)), - (u'Taxation and customs union, audit and anti-fraud', feedlink(161)), - (u'Trade', feedlink(162)), - (u'Transport', feedlink(163)) - ] - 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;} - p{font-family:Arial,Helvetica,sans-serif;font-size:small;} - body{font-family:Helvetica,Arial,sans-serif;font-size:small;} - ''' diff --git a/recipes/europasur.recipe b/recipes/europasur.recipe deleted file mode 100644 index fe88da9b95..0000000000 --- a/recipes/europasur.recipe +++ /dev/null @@ -1,66 +0,0 @@ - -__license__ = 'GPL v3' -__copyright__ = '2010, Darko Miletic ' -''' -europasur.es -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Europasur(BasicNewsRecipe): - title = 'Europa Sur' - __author__ = 'Darko Miletic' - description = 'News in Spanish' - publisher = 'Joly Digital' - category = 'news, politics, Spanish' - oldest_article = 2 - max_articles_per_feed = 100 - use_embedded_content = False - remove_empty_feeds = True - delay = 2 - no_stylesheets = True - encoding = 'cp1252' - language = 'es' - publication_type = 'newspaper' - extra_css = """ body{font-family: Verdana,Arial,Helvetica,sans-serif} - h2{font-family: Georgia,Times New Roman,Times,serif} - .subtitle{font-weight:bold} - .caption{font-size: small} - .body{font-size: 1.1em} - .info{color: #848484} - """ - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - keep_only_tags = [ - dict(attrs={'class': ['titles', 'current']}), dict( - attrs={'id': 'newsBody'}) - ] - remove_tags = [ - dict(name=['iframe', 'base', 'embed', 'object']), dict(name='a', attrs={ - 'class': 'zoom thickbox'}), dict(name='div', attrs={'class': 'other'}) - ] - remove_attributes = ['width', 'height'] - - feeds = [ - - (u'Portada', u'http://www.europasur.es/rss/articles.php'), - (u'Deportes', u'http://www.europasur.es/rss/articles.php?sec=1224'), - (u'Economia', u'http://www.europasur.es/rss/articles.php?sec=427'), - (u'Espana', u'http://www.europasur.es/rss/articles.php?sec=437'), - (u'Mundo', u'http://www.europasur.es/rss/articles.php?sec=428'), - (u'Pasarela', u'http://www.europasur.es/rss/articles.php?sec=1958'), - (u'Ocio y cultura', u'http://www.europasur.es/rss/articles.php?sec=1210'), - (u'Opinion', u'http://www.europasur.es/rss/articles.php?sec=1195'), - (u'Tecnologia', u'http://www.europasur.es/rss/articles.php?sec=1681'), - (u'Salud', u'http://www.europasur.es/rss/articles.php?sec=2379') - ] - - def image_url_processor(self, baseurl, url): - artl, sep, width = url.rpartition('&an=') - artid, sep, ext = artl.rpartition('.') - article_id = artid.rpartition('/')[2] - return 'http://media.grupojoly.com/cache/' + article_id + '_' + width + 'x' + width + '_' + ext + '000.' + ext diff --git a/recipes/evangelizo.recipe b/recipes/evangelizo.recipe deleted file mode 100644 index a0525b0405..0000000000 --- a/recipes/evangelizo.recipe +++ /dev/null @@ -1,26 +0,0 @@ -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Evangelizo(BasicNewsRecipe): - title = 'Evangelizo.org' - oldest_article = 2 - max_articles_per_feed = 30 - language = 'de' - __author__ = 'Bobus' - feeds = [ - ('EvangleliumTagfuerTag', - 'http://www.evangeliumtagfuertag.org/rss/evangelizo_rss-de.xml'), - ] - use_embedded_content = True - preprocess_regexps = [ - (re.compile( - r'<font size="-2">([(][0-9]*[)])</font>'), r'\g<1>'), - (re.compile(r'([\.!]\n)'), r'\g<1>
'), - ] - - def populate_article_metadata(self, article, soup, first): - article.title = re.sub( - r'([(][0-9]*[)])', r'\g<1>', article.title) - return diff --git a/recipes/evz.ro.recipe b/recipes/evz.ro.recipe deleted file mode 100644 index 195577b4a3..0000000000 --- a/recipes/evz.ro.recipe +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -__license__ = 'GPL v3' -__copyright__ = u'2011, Silviu Cotoar\u0103' -''' -evz.ro -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class EvenimentulZilei(BasicNewsRecipe): - title = u'Evenimentul Zilei' - __author__ = u'Silviu Cotoar\u0103' - description = '' - publisher = u'Evenimentul Zilei' - oldest_article = 5 - language = 'ro' - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - category = 'Ziare,Stiri' - encoding = 'utf-8' - cover_url = 'http://www.evz.ro/fileadmin/images/evzLogo.png' - - conversion_options = { - 'comments': description, 'tags': category, 'language': language, 'publisher': publisher - } - - keep_only_tags = [ - dict(name='div', attrs={'class': 'single'}), dict(name='img', attrs={ - 'id': 'placeholder'}), dict(name='a', attrs={'id': 'holderlink'}) - ] - - remove_tags = [ - dict(name='p', attrs={'class': ['articleInfo']}), dict(name='div', attrs={'id': [ - 'bannerAddoceansArticleJos']}), dict(name='div', attrs={'id': ['bannerAddoceansArticle']}) - ] - - remove_tags_after = [ - dict(name='div', attrs={'id': ['bannerAddoceansArticleJos']}) - ] - - feeds = [ - (u'Feeds', u'http://www.evz.ro/rss.xml') - ] - - def preprocess_html(self, soup): - return self.adeify_images(soup) diff --git a/recipes/exiled.recipe b/recipes/exiled.recipe deleted file mode 100644 index 9a980d2164..0000000000 --- a/recipes/exiled.recipe +++ /dev/null @@ -1,55 +0,0 @@ -__license__ = 'GPL v3' -__copyright__ = '2009-2011, Darko Miletic ' -''' -exiledonline.com -''' - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Exiled(BasicNewsRecipe): - title = 'Exiled Online' - __author__ = 'Darko Miletic' - description = "Mankind's only alternative since 1997 - Formerly known as The eXile" - publisher = 'Exiled Online' - category = 'news, politics, international' - oldest_article = 15 - max_articles_per_feed = 100 - no_stylesheets = True - use_embedded_content = False - encoding = 'utf8' - remove_javascript = True - language = 'en' - publication_type = 'newsblog' - masthead_url = 'http://exiledonline.com/wp-content/themes/exiledonline_theme/images/header-sm.gif' - extra_css = """ - body{font-family: Arial,Helvetica,sans-serif} - #topslug{font-size: xx-large; font-weight: bold; color: red} - """ - - conversion_options = { - 'comment': description, 'tags': category, 'publisher': publisher, 'language': language - } - - keep_only_tags = [dict(name='div', attrs={'id': 'main'})] - - remove_tags = [ - dict(name=['object', 'link']), dict(name='div', attrs={'class': 'info'}), dict( - name='div', attrs={'id': ['comments', 'navig']}) - ] - - feeds = [(u'Articles', u'http://exiledonline.com/feed/')] - - def preprocess_html(self, soup): - for item in soup.findAll(style=True): - del item['style'] - for alink in soup.findAll('a'): - if alink.string is not None: - tstr = alink.string - alink.replaceWith(tstr) - return soup - - def get_article_url(self, article): - raw = article.get('link', None) - final = raw + 'all/1/' - return final diff --git a/recipes/explosm.recipe b/recipes/explosm.recipe deleted file mode 100644 index d99576c2ae..0000000000 --- a/recipes/explosm.recipe +++ /dev/null @@ -1,57 +0,0 @@ -import re - -from calibre.web.feeds.news import BasicNewsRecipe - - -class Explosm(BasicNewsRecipe): - title = u'Explosm Rotated' - __author__ = 'Andromeda Rabbit' - description = 'Explosm' - language = 'en' - use_embedded_content = False - no_stylesheets = True - oldest_article = 24 - remove_javascript = True - remove_empty_feeds = True - max_articles_per_feed = 10 - - feeds = [ - (u'Explosm Feed', u'http://feeds.feedburner.com/Explosm') - ] - - keep_only_tags = [ - dict(name='img', attrs={'alt': 'Cyanide and Happiness, a daily webcomic'})] - remove_tags = [dict(name='div'), dict(name='span'), dict(name='table'), dict( - name='br'), dict(name='nobr'), dict(name='a'), dict(name='b')] - - 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;} - p{font-family:Arial,Helvetica,sans-serif;font-size:small;} - body{font-family:Helvetica,Arial,sans-serif;font-size:small;}''' - - def get_cover_url(self): - return 'http://cdn.shopify.com/s/files/1/0059/1872/products/cyanidetitle_large.jpg?1295846286' - - def parse_feeds(self): - feeds = BasicNewsRecipe.parse_feeds(self) - - for curfeed in feeds: - delList = [] - for a, curarticle in enumerate(curfeed.articles): - if re.search(r'http://www.explosm.net/comics', curarticle.url) is None: - delList.append(curarticle) - if len(delList) > 0: - for d in delList: - index = curfeed.articles.index(d) - curfeed.articles[index:index + 1] = [] - - return feeds - - def skip_ad_pages(self, soup): - # Skip ad pages served before actual article - skip_tag = soup.find(name='img', attrs={ - 'alt': 'Cyanide and Happiness, a daily webcomic'}) - if skip_tag is None: - return soup - return None diff --git a/recipes/express_de.recipe b/recipes/express_de.recipe deleted file mode 100644 index 8e9ee2872a..0000000000 --- a/recipes/express_de.recipe +++ /dev/null @@ -1,80 +0,0 @@ -from calibre.web.feeds.news import BasicNewsRecipe - - -class AdvancedUserRecipe1303841067(BasicNewsRecipe): - - title = u'Express.de' - __author__ = 'schuster' - oldest_article = 2 - max_articles_per_feed = 50 - no_stylesheets = True - use_embedded_content = False - language = 'de' - extra_css = ''' - h2{font-family:Arial,Helvetica,sans-serif; font-size: x-small;} - h1{ font-family:Arial,Helvetica,sans-serif; font-size:x-large; font-weight:bold;} - ''' - remove_javascript = True - remove_tags_befor = [dict(name='div', attrs={'class': 'Datum'})] - remove_tags_after = [dict(name='div', attrs={'class': 'MoreNews'})] - - remove_tags = [dict(id='kalaydo'), - dict(id='Header'), - dict(id='Searchline'), - dict(id='MainNav'), - dict(id='Logo'), - dict(id='MainLinkSpacer'), - dict(id='MainLinks'), - dict(id='ContainerPfad'), # neu - dict(title='Diese Seite Bookmarken'), - - dict(name='span'), - dict(name='div', attrs={'class': 'spacer_leftneu'}), - dict(name='div', attrs={'class': 'button kalaydologo'}), - dict(name='div', attrs={'class': 'button stellenneu'}), - dict(name='div', attrs={'class': 'button autoneu'}), - dict(name='div', attrs={'class': 'button immobilienneu'}), - dict(name='div', attrs={'class': 'button kleinanzeigen'}), - dict(name='div', attrs={'class': 'button tiereneu'}), - dict(name='div', attrs={'class': 'button ferienwohnungen'}), - dict(name='div', attrs={'class': 'button inserierenneu'}), - dict(name='div', attrs={'class': 'spacer_rightneu'}), - dict(name='div', attrs={'class': 'spacer_rightcorner'}), - dict(name='div', attrs={'class': 'HeaderMetaNav'}), - dict(name='div', attrs={'class': 'HeaderSearchOption'}), - dict(name='div', attrs={'class': 'HeaderSearch'}), - dict(name='div', attrs={'class': 'sbutton'}), - dict(name='div', attrs={'class': 'active'}), - dict(name='div', attrs={'class': 'MoreNews'}), # neu - dict(name='div', attrs={ - 'class': 'ContentBoxSubline'}) # neu - ] - - 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 - - feeds = [(u'Top-Themen', u'http://www.express.de/home/-/2126/2126/-/view/asFeed/-/index.xml'), - (u'Regional - Köln', - u'http://www.express.de/regional/koeln/-/2856/2856/-/view/asFeed/-/index.xml'), - (u'Regional - Bonn', - u'http://www.express.de/regional/bonn/-/2860/2860/-/view/asFeed/-/index.xml'), - (u'Regional - Düsseldorf', - u'http://www.express.de/regional/duesseldorf/-/2858/2858/-/view/asFeed/-/index.xml'), - (u'Regional - Region', - u'http://www.express.de/regional/-/2178/2178/-/view/asFeed/-/index.xml'), - (u'Sport-News', u'http://www.express.de/sport/-/2176/2176/-/view/asFeed/-/index.xml'), - (u'Fussball-News', u'http://www.express.de/sport/fussball/-/3186/3186/-/view/asFeed/-/index.xml'), - (u'1.FC Köln News', u'http://www.express.de/sport/fussball/fc-koeln/-/3192/3192/-/view/asFeed/-/index.xml'), - (u'Alemannia Aachen News', - u'http://www.express.de/sport/fussball/alemannia/-/3290/3290/-/view/asFeed/-/index.xml'), - (u'Borussia M~Gladbach', - u'http://www.express.de/sport/fussball/gladbach/-/3286/3286/-/view/asFeed/-/index.xml'), - (u'Fortuna D~Dorf', u'http://www.express.de/sport/fussball/fortuna/-/3292/3292/-/view/asFeed/-/index.xml'), - (u'Basketball News', - u'http://www.express.de/sport/basketball/-/3190/3190/-/view/asFeed/-/index.xml'), - (u'Big Brother', u'http://www.express.de/news/promi-show/big-brother/-/2402/2402/-/view/asFeed/-/index.xml'), - ] diff --git a/recipes/icons/cyprus_weekly.png b/recipes/icons/cyprus_weekly.png deleted file mode 100644 index 8bbe9f0776..0000000000 Binary files a/recipes/icons/cyprus_weekly.png and /dev/null differ diff --git a/recipes/icons/czas_gentlemanow.png b/recipes/icons/czas_gentlemanow.png deleted file mode 100644 index 113cc98483..0000000000 Binary files a/recipes/icons/czas_gentlemanow.png and /dev/null differ diff --git a/recipes/icons/daily_express.png b/recipes/icons/daily_express.png deleted file mode 100644 index 04b7454bd9..0000000000 Binary files a/recipes/icons/daily_express.png and /dev/null differ diff --git a/recipes/icons/daily_telegraph.png b/recipes/icons/daily_telegraph.png deleted file mode 100644 index c55e9c054e..0000000000 Binary files a/recipes/icons/daily_telegraph.png and /dev/null differ diff --git a/recipes/icons/dailytportal.png b/recipes/icons/dailytportal.png deleted file mode 100644 index 4a9ebe80b9..0000000000 Binary files a/recipes/icons/dailytportal.png and /dev/null differ diff --git a/recipes/icons/dallas.png b/recipes/icons/dallas.png deleted file mode 100644 index b2d52e5694..0000000000 Binary files a/recipes/icons/dallas.png and /dev/null differ diff --git a/recipes/icons/dark_reading.png b/recipes/icons/dark_reading.png deleted file mode 100644 index f0e26701d4..0000000000 Binary files a/recipes/icons/dark_reading.png and /dev/null differ diff --git a/recipes/icons/darknet.png b/recipes/icons/darknet.png deleted file mode 100644 index 6de79846a5..0000000000 Binary files a/recipes/icons/darknet.png and /dev/null differ diff --git a/recipes/icons/data_news.png b/recipes/icons/data_news.png deleted file mode 100644 index 63b305d910..0000000000 Binary files a/recipes/icons/data_news.png and /dev/null differ diff --git a/recipes/icons/datasport.png b/recipes/icons/datasport.png deleted file mode 100644 index 72c44a775d..0000000000 Binary files a/recipes/icons/datasport.png and /dev/null differ diff --git a/recipes/icons/daytona_beach.png b/recipes/icons/daytona_beach.png deleted file mode 100644 index f42839b3c2..0000000000 Binary files a/recipes/icons/daytona_beach.png and /dev/null differ diff --git a/recipes/icons/dbb.png b/recipes/icons/dbb.png deleted file mode 100644 index 0270ce437e..0000000000 Binary files a/recipes/icons/dbb.png and /dev/null differ diff --git a/recipes/icons/de_redactie_be.png b/recipes/icons/de_redactie_be.png deleted file mode 100644 index 5309a6b940..0000000000 Binary files a/recipes/icons/de_redactie_be.png and /dev/null differ diff --git a/recipes/icons/deadspin.png b/recipes/icons/deadspin.png deleted file mode 100644 index 2d5c71e2b3..0000000000 Binary files a/recipes/icons/deadspin.png and /dev/null differ diff --git a/recipes/icons/defensenews.png b/recipes/icons/defensenews.png deleted file mode 100644 index 1f11a69dba..0000000000 Binary files a/recipes/icons/defensenews.png and /dev/null differ diff --git a/recipes/icons/delco_times.png b/recipes/icons/delco_times.png deleted file mode 100644 index 9bb94cb23b..0000000000 Binary files a/recipes/icons/delco_times.png and /dev/null differ diff --git a/recipes/icons/demagog.cz.png b/recipes/icons/demagog.cz.png deleted file mode 100644 index cb1b6e8248..0000000000 Binary files a/recipes/icons/demagog.cz.png and /dev/null differ diff --git a/recipes/icons/descopera_org.png b/recipes/icons/descopera_org.png deleted file mode 100644 index dc0a86e587..0000000000 Binary files a/recipes/icons/descopera_org.png and /dev/null differ diff --git a/recipes/icons/detroit_news.png b/recipes/icons/detroit_news.png deleted file mode 100644 index 388cdb0110..0000000000 Binary files a/recipes/icons/detroit_news.png and /dev/null differ diff --git a/recipes/icons/diagonal.png b/recipes/icons/diagonal.png deleted file mode 100644 index 91cd062739..0000000000 Binary files a/recipes/icons/diagonal.png and /dev/null differ diff --git a/recipes/icons/diario_cordoba.png b/recipes/icons/diario_cordoba.png deleted file mode 100644 index acd8462da0..0000000000 Binary files a/recipes/icons/diario_cordoba.png and /dev/null differ diff --git a/recipes/icons/diario_de_noticias.png b/recipes/icons/diario_de_noticias.png deleted file mode 100644 index 436a0ccc9a..0000000000 Binary files a/recipes/icons/diario_de_noticias.png and /dev/null differ diff --git a/recipes/icons/diario_extra.png b/recipes/icons/diario_extra.png deleted file mode 100644 index 270bfa3433..0000000000 Binary files a/recipes/icons/diario_extra.png and /dev/null differ diff --git a/recipes/icons/diario_la_republica.png b/recipes/icons/diario_la_republica.png deleted file mode 100644 index d84d0f97d4..0000000000 Binary files a/recipes/icons/diario_la_republica.png and /dev/null differ diff --git a/recipes/icons/digit_magazine.png b/recipes/icons/digit_magazine.png deleted file mode 100644 index 83b2f91b54..0000000000 Binary files a/recipes/icons/digit_magazine.png and /dev/null differ diff --git a/recipes/icons/digital_arts.png b/recipes/icons/digital_arts.png deleted file mode 100644 index 59b4005649..0000000000 Binary files a/recipes/icons/digital_arts.png and /dev/null differ diff --git a/recipes/icons/digitaljournal.png b/recipes/icons/digitaljournal.png deleted file mode 100644 index 9058c0a4ee..0000000000 Binary files a/recipes/icons/digitaljournal.png and /dev/null differ diff --git a/recipes/icons/digitalspy_uk.png b/recipes/icons/digitalspy_uk.png deleted file mode 100644 index 4a0c1001a4..0000000000 Binary files a/recipes/icons/digitalspy_uk.png and /dev/null differ diff --git a/recipes/icons/dilbert.png b/recipes/icons/dilbert.png deleted file mode 100644 index edc3f11762..0000000000 Binary files a/recipes/icons/dilbert.png and /dev/null differ diff --git a/recipes/icons/dilemaveche.png b/recipes/icons/dilemaveche.png deleted file mode 100644 index 36c5930fde..0000000000 Binary files a/recipes/icons/dilemaveche.png and /dev/null differ diff --git a/recipes/icons/discover_magazine.png b/recipes/icons/discover_magazine.png deleted file mode 100644 index 199522c25e..0000000000 Binary files a/recipes/icons/discover_magazine.png and /dev/null differ diff --git a/recipes/icons/divahair.png b/recipes/icons/divahair.png deleted file mode 100644 index e9140967f4..0000000000 Binary files a/recipes/icons/divahair.png and /dev/null differ diff --git a/recipes/icons/djurslandsposten_dk.png b/recipes/icons/djurslandsposten_dk.png deleted file mode 100644 index 34340aea44..0000000000 Binary files a/recipes/icons/djurslandsposten_dk.png and /dev/null differ diff --git a/recipes/icons/dnevni_avaz.png b/recipes/icons/dnevni_avaz.png deleted file mode 100644 index 385332b37c..0000000000 Binary files a/recipes/icons/dnevni_avaz.png and /dev/null differ diff --git a/recipes/icons/dnevnik.png b/recipes/icons/dnevnik.png deleted file mode 100644 index 115e4ca270..0000000000 Binary files a/recipes/icons/dnevnik.png and /dev/null differ diff --git a/recipes/icons/dobanevinosti.png b/recipes/icons/dobanevinosti.png deleted file mode 100644 index 99426c2d4e..0000000000 Binary files a/recipes/icons/dobanevinosti.png and /dev/null differ diff --git a/recipes/icons/doghousediaries.png b/recipes/icons/doghousediaries.png deleted file mode 100644 index 63b77c7174..0000000000 Binary files a/recipes/icons/doghousediaries.png and /dev/null differ diff --git a/recipes/icons/dominion.png b/recipes/icons/dominion.png deleted file mode 100644 index 163db06469..0000000000 Binary files a/recipes/icons/dominion.png and /dev/null differ diff --git a/recipes/icons/dosisdiarias.png b/recipes/icons/dosisdiarias.png deleted file mode 100644 index 99426c2d4e..0000000000 Binary files a/recipes/icons/dosisdiarias.png and /dev/null differ diff --git a/recipes/icons/dotpod.png b/recipes/icons/dotpod.png deleted file mode 100644 index ea78b813b3..0000000000 Binary files a/recipes/icons/dotpod.png and /dev/null differ diff --git a/recipes/icons/downtoearth.png b/recipes/icons/downtoearth.png deleted file mode 100644 index 3d70d9d1d9..0000000000 Binary files a/recipes/icons/downtoearth.png and /dev/null differ diff --git a/recipes/icons/dunya_bizim.png b/recipes/icons/dunya_bizim.png deleted file mode 100644 index 9e2927a933..0000000000 Binary files a/recipes/icons/dunya_bizim.png and /dev/null differ diff --git a/recipes/icons/dunya_bulteni.png b/recipes/icons/dunya_bulteni.png deleted file mode 100644 index 32ec104a14..0000000000 Binary files a/recipes/icons/dunya_bulteni.png and /dev/null differ diff --git a/recipes/icons/dunyahalleri.png b/recipes/icons/dunyahalleri.png deleted file mode 100644 index 70952e3cfa..0000000000 Binary files a/recipes/icons/dunyahalleri.png and /dev/null differ diff --git a/recipes/icons/dunyahalleri_haftaninozeti.png b/recipes/icons/dunyahalleri_haftaninozeti.png deleted file mode 100644 index 70952e3cfa..0000000000 Binary files a/recipes/icons/dunyahalleri_haftaninozeti.png and /dev/null differ diff --git a/recipes/icons/dvhn.png b/recipes/icons/dvhn.png deleted file mode 100644 index 26eff1a06b..0000000000 Binary files a/recipes/icons/dvhn.png and /dev/null differ diff --git a/recipes/icons/ebeltoftlokalavisen_dk.png b/recipes/icons/ebeltoftlokalavisen_dk.png deleted file mode 100644 index 70464fce89..0000000000 Binary files a/recipes/icons/ebeltoftlokalavisen_dk.png and /dev/null differ diff --git a/recipes/icons/echo_dnia.png b/recipes/icons/echo_dnia.png deleted file mode 100644 index 8369d3364f..0000000000 Binary files a/recipes/icons/echo_dnia.png and /dev/null differ diff --git a/recipes/icons/eclipseonline.png b/recipes/icons/eclipseonline.png deleted file mode 100644 index 208c24c350..0000000000 Binary files a/recipes/icons/eclipseonline.png and /dev/null differ diff --git a/recipes/icons/ecotrend.png b/recipes/icons/ecotrend.png deleted file mode 100644 index a05a90a443..0000000000 Binary files a/recipes/icons/ecotrend.png and /dev/null differ diff --git a/recipes/icons/ecuisine.png b/recipes/icons/ecuisine.png deleted file mode 100644 index 14fac0cd80..0000000000 Binary files a/recipes/icons/ecuisine.png and /dev/null differ diff --git a/recipes/icons/edebistan.png b/recipes/icons/edebistan.png deleted file mode 100644 index fa9f633986..0000000000 Binary files a/recipes/icons/edebistan.png and /dev/null differ diff --git a/recipes/icons/edebiyat_haber.png b/recipes/icons/edebiyat_haber.png deleted file mode 100644 index df144fe27f..0000000000 Binary files a/recipes/icons/edebiyat_haber.png and /dev/null differ diff --git a/recipes/icons/edge_conversations.png b/recipes/icons/edge_conversations.png deleted file mode 100644 index ea22f0c35b..0000000000 Binary files a/recipes/icons/edge_conversations.png and /dev/null differ diff --git a/recipes/icons/editor_and_publisher.png b/recipes/icons/editor_and_publisher.png deleted file mode 100644 index ad303c9ed2..0000000000 Binary files a/recipes/icons/editor_and_publisher.png and /dev/null differ diff --git a/recipes/icons/editoriali.png b/recipes/icons/editoriali.png deleted file mode 100644 index 18e35f0395..0000000000 Binary files a/recipes/icons/editoriali.png and /dev/null differ diff --git a/recipes/icons/egedallokalavisen_dk.png b/recipes/icons/egedallokalavisen_dk.png deleted file mode 100644 index 70464fce89..0000000000 Binary files a/recipes/icons/egedallokalavisen_dk.png and /dev/null differ diff --git a/recipes/icons/egirl.png b/recipes/icons/egirl.png deleted file mode 100644 index 8c84e0f49a..0000000000 Binary files a/recipes/icons/egirl.png and /dev/null differ diff --git a/recipes/icons/eioba.png b/recipes/icons/eioba.png deleted file mode 100644 index fd0db4015c..0000000000 Binary files a/recipes/icons/eioba.png and /dev/null differ diff --git a/recipes/icons/ekantipur.png b/recipes/icons/ekantipur.png deleted file mode 100644 index bffbf306b5..0000000000 Binary files a/recipes/icons/ekantipur.png and /dev/null differ diff --git a/recipes/icons/ekathemerini.png b/recipes/icons/ekathemerini.png deleted file mode 100644 index 9ab7269a6c..0000000000 Binary files a/recipes/icons/ekathemerini.png and /dev/null differ diff --git a/recipes/icons/ekologia_pl.png b/recipes/icons/ekologia_pl.png deleted file mode 100644 index 7f14852e44..0000000000 Binary files a/recipes/icons/ekologia_pl.png and /dev/null differ diff --git a/recipes/icons/el_espectador.png b/recipes/icons/el_espectador.png deleted file mode 100644 index 4a7003c1e4..0000000000 Binary files a/recipes/icons/el_espectador.png and /dev/null differ diff --git a/recipes/icons/el_malpensante.png b/recipes/icons/el_malpensante.png deleted file mode 100644 index 06def8e64e..0000000000 Binary files a/recipes/icons/el_malpensante.png and /dev/null differ diff --git a/recipes/icons/el_mostrador.png b/recipes/icons/el_mostrador.png deleted file mode 100644 index e7272687d0..0000000000 Binary files a/recipes/icons/el_mostrador.png and /dev/null differ diff --git a/recipes/icons/el_mundo_co.png b/recipes/icons/el_mundo_co.png deleted file mode 100644 index a95ea9a2ae..0000000000 Binary files a/recipes/icons/el_mundo_co.png and /dev/null differ diff --git a/recipes/icons/el_observador.png b/recipes/icons/el_observador.png deleted file mode 100644 index 2d180254d0..0000000000 Binary files a/recipes/icons/el_observador.png and /dev/null differ diff --git a/recipes/icons/el_periodico.png b/recipes/icons/el_periodico.png deleted file mode 100644 index 076cb598c7..0000000000 Binary files a/recipes/icons/el_periodico.png and /dev/null differ diff --git a/recipes/icons/el_publico.png b/recipes/icons/el_publico.png deleted file mode 100644 index c47cb56ca0..0000000000 Binary files a/recipes/icons/el_publico.png and /dev/null differ diff --git a/recipes/icons/el_tiempo.png b/recipes/icons/el_tiempo.png deleted file mode 100644 index 6a7c04ea6a..0000000000 Binary files a/recipes/icons/el_tiempo.png and /dev/null differ diff --git a/recipes/icons/el_universal.png b/recipes/icons/el_universal.png deleted file mode 100644 index 266e50199c..0000000000 Binary files a/recipes/icons/el_universal.png and /dev/null differ diff --git a/recipes/icons/elclubdelebook.png b/recipes/icons/elclubdelebook.png deleted file mode 100644 index e2fb71f286..0000000000 Binary files a/recipes/icons/elclubdelebook.png and /dev/null differ diff --git a/recipes/icons/elcomercio.png b/recipes/icons/elcomercio.png deleted file mode 100644 index 05aa43f329..0000000000 Binary files a/recipes/icons/elcomercio.png and /dev/null differ diff --git a/recipes/icons/ele.png b/recipes/icons/ele.png deleted file mode 100644 index 46ca3ae875..0000000000 Binary files a/recipes/icons/ele.png and /dev/null differ diff --git a/recipes/icons/elet_es_irodalom.png b/recipes/icons/elet_es_irodalom.png deleted file mode 100644 index b62cb39db2..0000000000 Binary files a/recipes/icons/elet_es_irodalom.png and /dev/null differ diff --git a/recipes/icons/elpais_impreso.png b/recipes/icons/elpais_impreso.png deleted file mode 100644 index 65cd3615af..0000000000 Binary files a/recipes/icons/elpais_impreso.png and /dev/null differ diff --git a/recipes/icons/elsevier.png b/recipes/icons/elsevier.png deleted file mode 100644 index 0987f66194..0000000000 Binary files a/recipes/icons/elsevier.png and /dev/null differ diff --git a/recipes/icons/eltiempo_hn.png b/recipes/icons/eltiempo_hn.png deleted file mode 100644 index 405772fd11..0000000000 Binary files a/recipes/icons/eltiempo_hn.png and /dev/null differ diff --git a/recipes/icons/eluniversal_ve.png b/recipes/icons/eluniversal_ve.png deleted file mode 100644 index 12bd0068af..0000000000 Binary files a/recipes/icons/eluniversal_ve.png and /dev/null differ diff --git a/recipes/icons/eluniverso_ec.png b/recipes/icons/eluniverso_ec.png deleted file mode 100644 index a1b2ae9a8d..0000000000 Binary files a/recipes/icons/eluniverso_ec.png and /dev/null differ diff --git a/recipes/icons/emg_en.png b/recipes/icons/emg_en.png deleted file mode 100644 index b6d3872895..0000000000 Binary files a/recipes/icons/emg_en.png and /dev/null differ diff --git a/recipes/icons/empire_magazine.png b/recipes/icons/empire_magazine.png deleted file mode 100644 index 37dea24d46..0000000000 Binary files a/recipes/icons/empire_magazine.png and /dev/null differ diff --git a/recipes/icons/endgadget_ja.png b/recipes/icons/endgadget_ja.png deleted file mode 100644 index 3bea74537f..0000000000 Binary files a/recipes/icons/endgadget_ja.png and /dev/null differ diff --git a/recipes/icons/eos_wetenschap.png b/recipes/icons/eos_wetenschap.png deleted file mode 100644 index 9239b1e8cb..0000000000 Binary files a/recipes/icons/eos_wetenschap.png and /dev/null differ diff --git a/recipes/icons/erhvervs_avisen_dk.png b/recipes/icons/erhvervs_avisen_dk.png deleted file mode 100644 index 253d59b258..0000000000 Binary files a/recipes/icons/erhvervs_avisen_dk.png and /dev/null differ diff --git a/recipes/icons/esbjerglokalavisen_dk.png b/recipes/icons/esbjerglokalavisen_dk.png deleted file mode 100644 index 70464fce89..0000000000 Binary files a/recipes/icons/esbjerglokalavisen_dk.png and /dev/null differ diff --git a/recipes/icons/estadao.png b/recipes/icons/estadao.png deleted file mode 100644 index b77e576f40..0000000000 Binary files a/recipes/icons/estadao.png and /dev/null differ diff --git a/recipes/icons/eu_commission.png b/recipes/icons/eu_commission.png deleted file mode 100644 index 47d2c00acd..0000000000 Binary files a/recipes/icons/eu_commission.png and /dev/null differ diff --git a/recipes/icons/europasur.png b/recipes/icons/europasur.png deleted file mode 100644 index d6ad61f41c..0000000000 Binary files a/recipes/icons/europasur.png and /dev/null differ diff --git a/recipes/icons/evangelizo.png b/recipes/icons/evangelizo.png deleted file mode 100644 index 68a6cab905..0000000000 Binary files a/recipes/icons/evangelizo.png and /dev/null differ diff --git a/recipes/icons/evz.ro.png b/recipes/icons/evz.ro.png deleted file mode 100644 index 2fc04f5e48..0000000000 Binary files a/recipes/icons/evz.ro.png and /dev/null differ diff --git a/recipes/icons/exiled.png b/recipes/icons/exiled.png deleted file mode 100644 index 84a8f79594..0000000000 Binary files a/recipes/icons/exiled.png and /dev/null differ diff --git a/recipes/icons/explosm.png b/recipes/icons/explosm.png deleted file mode 100644 index 1d92e62984..0000000000 Binary files a/recipes/icons/explosm.png and /dev/null differ diff --git a/recipes/icons/express_de.png b/recipes/icons/express_de.png deleted file mode 100644 index accb699882..0000000000 Binary files a/recipes/icons/express_de.png and /dev/null differ