diff --git a/recipes/icons/n_kaliningrad.png b/recipes/icons/n_kaliningrad.png new file mode 100644 index 0000000000..f903b3c4de Binary files /dev/null and b/recipes/icons/n_kaliningrad.png differ diff --git a/recipes/icons/newtab.png b/recipes/icons/newtab.png new file mode 100644 index 0000000000..e952279f7f Binary files /dev/null and b/recipes/icons/newtab.png differ diff --git a/recipes/icons/nv_en.png b/recipes/icons/nv_en.png new file mode 100644 index 0000000000..05d70f12ee Binary files /dev/null and b/recipes/icons/nv_en.png differ diff --git a/recipes/icons/nv_ru.png b/recipes/icons/nv_ru.png new file mode 100644 index 0000000000..05d70f12ee Binary files /dev/null and b/recipes/icons/nv_ru.png differ diff --git a/recipes/icons/nv_ua.png b/recipes/icons/nv_ua.png new file mode 100644 index 0000000000..05d70f12ee Binary files /dev/null and b/recipes/icons/nv_ua.png differ diff --git a/recipes/icons/rbcua_ru.png b/recipes/icons/rbcua_ru.png new file mode 100644 index 0000000000..e43fcf1403 Binary files /dev/null and b/recipes/icons/rbcua_ru.png differ diff --git a/recipes/icons/rbcua_ua.png b/recipes/icons/rbcua_ua.png new file mode 100644 index 0000000000..e43fcf1403 Binary files /dev/null and b/recipes/icons/rbcua_ua.png differ diff --git a/recipes/icons/snob.png b/recipes/icons/snob.png new file mode 100644 index 0000000000..e4d9a7b19d Binary files /dev/null and b/recipes/icons/snob.png differ diff --git a/recipes/icons/tayga.png b/recipes/icons/tayga.png new file mode 100644 index 0000000000..697fd26b6e Binary files /dev/null and b/recipes/icons/tayga.png differ diff --git a/recipes/n_kaliningrad.recipe b/recipes/n_kaliningrad.recipe new file mode 100644 index 0000000000..2d7ea1bfdf --- /dev/null +++ b/recipes/n_kaliningrad.recipe @@ -0,0 +1,30 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class NewKaliningrad(BasicNewsRecipe): + title = '\u041D\u043E\u0432\u044B\u0439 \u041A\u0430\u043B\u0438\u043D\u0438\u043D\u0433\u0440\u0430\u0434' + __author__ = 'bugmen00t' + description = '\u0420\u0435\u0433\u0438\u043E\u043D\u0430\u043B\u044C\u043D\u044B\u0439 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442-\u043F\u043E\u0440\u0442\u0430\u043B \u041A\u0430\u043B\u0438\u043D\u0438\u043D\u0433\u0440\u0430\u0434\u0441\u043A\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0438 \u0433\u043E\u0440\u043E\u0434\u0430 \u041A\u0430\u043B\u0438\u043D\u0438\u043D\u0433\u0440\u0430\u0434\u0430.' # noqa + publisher = '\u0417\u0410\u041E "\u0422\u0432\u0438\u043A \u041C\u0430\u0440\u043A\u0435\u0442\u0438\u043D\u0433"' + category = 'news' + cover_url = u'https://www.newkaliningrad.ru/images/logo.gif' + language = 'ru' + no_stylesheets = False + remove_javascript = False + auto_cleanup = False + oldest_article = 3 + max_articles_per_feed = 100 + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='div', attrs={'class': 'content'}) + + remove_tags = [dict(name='div', attrs={'class': 'continue-box'})] + + feeds = [( + '\u041D\u043E\u0432\u043E\u0441\u0442\u0438', + 'https://www.newkaliningrad.ru/news/rss.xml' + )] diff --git a/recipes/newtab.recipe b/recipes/newtab.recipe new file mode 100644 index 0000000000..64114ce07f --- /dev/null +++ b/recipes/newtab.recipe @@ -0,0 +1,39 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class NewTab(BasicNewsRecipe): + title = '\u041D\u043E\u0432\u0430\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0430' + __author__ = 'bugmen00t' + description = '\u041F\u043B\u043E\u0449\u0430\u0434\u043A\u0430 \u0434\u043B\u044F \u043F\u0443\u0431\u043B\u0438\u043A\u0430\u0446\u0438\u0438 \u0440\u0435\u043F\u043E\u0440\u0442\u0430\u0436\u0435\u0439 \u0438 \u0437\u0430\u043C\u0435\u0442\u043E\u043A \u043E \u0442\u043E\u043C, \u043A\u0430\u043A \u043C\u0435\u043D\u044F\u044E\u0442\u0441\u044F \u0440\u0435\u0433\u0438\u043E\u043D\u044B \u0420\u043E\u0441\u0441\u0438\u0438 \u043F\u043E\u0441\u043B\u0435 24 \u0444\u0435\u0432\u0440\u0430\u043B\u044F 2022 \u0433\u043E\u0434\u0430.' # noqa + publisher = '\u041C\u0438\u0445\u0430\u0438\u043B \u0414\u0430\u043D\u0438\u043B\u043E\u0432\u0438\u0447' + category = 'blog' + cover_url = u'https://static.tildacdn.com/tild3765-3961-4337-b366-323437626331/thenewtab-sn.jpg' + language = 'ru' + no_stylesheets = True + remove_javascript = False + auto_cleanup = False + oldest_article = 30 + max_articles_per_feed = 20 + + remove_tags_before = dict(name='h1') + + remove_tags = [ + dict(name='div', attrs={'class': 't-popup'}), + dict(name='div', attrs={'class': 't185'}), + dict(name='div', attrs={'class': 't403'}), + dict(name='div', attrs={'class': 't404'}), + dict(name='div', attrs={'class': 't134'}), + ] + + feeds = [( + '\u041D\u043E\u0432\u0430\u044F \u0432\u043A\u043B\u0430\u0434\u043A\u0430', + 'https://thenewtab.io/rss.xml' + )] + + def preprocess_html(self, soup): + for img in soup.findAll('img', attrs={'data-original': True}): + img['src'] = img['data-original'] + return soup diff --git a/recipes/nv_en.recipe b/recipes/nv_en.recipe new file mode 100644 index 0000000000..5414f31081 --- /dev/null +++ b/recipes/nv_en.recipe @@ -0,0 +1,47 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class NV(BasicNewsRecipe): + title = 'NV (The New Voice of Ukraine)' + __author__ = 'bugmen00t' + description = 'Independent Ukrainian socio-political magazine and news resource.' + publisher = 'Vydavnychyy Dim Media-DK LLC' + category = 'magazine' + cover_url = u'https://static.nv.ua/shared/system/Article/posters/002/439/752/600x300/65730a3918ebad6c86167b53f2b3e98a.jpg' + language = 'en_UK' + no_stylesheets = False + remove_javascript = False + auto_cleanup = False + oldest_article = 30 + max_articles_per_feed = 40 + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='article') + + remove_tags = [ + dict(name='div', attrs={'class': 'article__content__footer'}), + dict(name='div', attrs={'class': 'article__head__additional_views'}), + dict(name='div', attrs={'class': 'show_two_positions '}), + dict(name='div', attrs={'class': 'media__also__news'}), + dict(name='div', attrs={'class': 'media__also__news_link'}), + dict(name='blockquote', attrs={'class': 'code'}), + dict(name='section', attrs={'class': 'article-share'}), + dict(name='div', attrs={'class': 'nts-video-wrapper'}), + dict(name='footer'), + dict(name='div', attrs={'class': 'longread_tags'}), + dict(name='div', attrs={'class': 'top_donate'}), + dict(name='div', attrs={'class': 'col-md-6 col-lg-3'}), + dict(name='div', attrs={'class': 'copyright'}), + dict(name='div', attrs={'class': 'media__video'}), + dict(name='div', attrs={'class': 'media__embed'}) + ] + + feeds = [('All News', 'https://english.nv.ua/rss/all_english.xml'), + ('Life', 'https://english.nv.ua/rss/239.xml'), + ('Business', 'https://english.nv.ua/rss/238.xml'), + ('Nation', 'https://english.nv.ua/rss/237.xml'), + ('Opinion', 'https://english.nv.ua/rss/240.xml')] diff --git a/recipes/nv_ru.recipe b/recipes/nv_ru.recipe new file mode 100644 index 0000000000..b32ccd1484 --- /dev/null +++ b/recipes/nv_ru.recipe @@ -0,0 +1,99 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class NV(BasicNewsRecipe): + title = '\u041D\u0412 (\u00AB\u041D\u043E\u0432\u043E\u0435 \u0432\u0440\u0435\u043C\u044F\u00BB)' + __author__ = 'bugmen00t' + description = '\u0415\u0436\u0435\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u044B\u0439 \u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E-\u043F\u043E\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0438 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E-\u043D\u043E\u0432\u043E\u0441\u0442\u043D\u043E\u0439 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442-\u0440\u0435\u0441\u0443\u0440\u0441.' # noqa + publisher = '\u041E\u041E\u041E \u00AB\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439 \u0434\u043E\u043C \u00AB\u041C\u0435\u0434\u0438\u0430-\u0414\u041A\u00BB' # noqa + category = 'magazine' + cover_url = u'https://yes-ukraine.org/imglib/_newimage/Yalta-annual-meeting/11th-yalta-annual-meeting/partners/media-partneri/nv_logo.png' + language = 'ru' + no_stylesheets = False + remove_javascript = False + auto_cleanup = False + oldest_article = 7 + max_articles_per_feed = 40 + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='article') + + remove_tags = [ + dict(name='div', attrs={'class': 'article__content__footer'}), + dict(name='div', attrs={'class': 'article__head__additional_views'}), + dict(name='div', attrs={'class': 'show_two_positions '}), + dict(name='div', attrs={'class': 'media__also__news'}), + dict(name='div', attrs={'class': 'media__also__news_link'}), + dict(name='blockquote', attrs={'class': 'code'}), + dict(name='section', attrs={'class': 'article-share'}), + dict(name='div', attrs={'class': 'nts-video-wrapper'}), + dict(name='footer'), + dict(name='div', attrs={'class': 'longread_tags'}), + dict(name='div', attrs={'class': 'col-md-6 col-lg-3'}), + dict(name='div', attrs={'class': 'copyright'}), + dict(name='div', attrs={'class': 'media__video'}), + dict(name='div', attrs={'class': 'media__embed'}) + ] + + feeds = [ + ( + '\u0412\u0441\u0435 \u043D\u043E\u0432\u043E\u0441\u0442\u0438', + 'https://nv.ua/rss/all.xml' + ), + ('\u0423\u043A\u0440\u0430\u0438\u043D\u0430', 'https://nv.ua/rss/2283.xml'), + ('\u041C\u0438\u0440', 'https://nv.ua/rss/2318.xml'), + ('\u041C\u043D\u0435\u043D\u0438\u044F', 'https://nv.ua/rss/2671.xml'), + ('\u041A\u0438\u0435\u0432', 'https://nv.ua/rss/108.xml'), + ('\u0410\u0440\u0442', 'https://nv.ua/rss/52.xml'), + ('\u0414\u043E\u0441\u044C\u0435', 'https://nv.ua/rss/230.xml'), + ('\u0411\u0438\u0437\u043D\u0435\u0441', 'https://nv.ua/rss/2292.xml'), + ( + '\u041B\u043E\u043D\u0433\u0440\u0438\u0434\u044B', + 'https://nv.ua/rss/2790.xml' + ), + ( + '\u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0438', + 'https://nv.ua/rss/48.xml' + ), ('\u0422\u0435\u0445\u043D\u043E', 'https://nv.ua/rss/2346.xml'), + ('\u0420\u0435\u0433\u0438\u043E\u043D\u044B', 'https://nv.ua/rss/231.xml'), + ('\u0410\u0432\u0442\u043E', 'https://nv.ua/rss/154.xml'), + ('Life', 'https://nv.ua/rss/2325.xml'), + ( + '\u0417\u0434\u043E\u0440\u043E\u0432\u044C\u0435', + 'https://nv.ua/rss/90.xml' + ), ('\u0421\u043F\u043E\u0440\u0442', 'https://nv.ua/rss/2371.xml'), + ('\u0410\u0437\u0430\u0440\u0442', 'https://nv.ua/rss/178.xml'), + ('\u0428\u043E\u043F\u043F\u0438\u043D\u0433', 'https://nv.ua/rss/131.xml'), + ('LOL', 'https://nv.ua/rss/2365.xml'), + ( + '\u0421\u043A\u0440\u044B\u0442\u044B\u0439 \u0440\u0430\u0437\u0434\u0435\u043B', + 'https://nv.ua/rss/118.xml' + ), ('\u0424\u041E\u0422\u041E', 'https://nv.ua/rss/2384.xml'), + ( + '\u0420\u0430\u0434\u0438\u043E \u041D\u0412', + 'https://nv.ua/rss/3050.xml' + ), ('BBC', 'https://nv.ua/rss/2836.xml'), + ( + '\u0426\u0438\u0442\u0430\u0442\u0430 \u0434\u043D\u044F', + 'https://nv.ua/rss/2672.xml' + ), ('\u0414\u043D\u0435\u043F\u0440', 'https://nv.ua/rss/232.xml'), + ( + '\u041A\u0440\u0443\u043F\u043D\u044B\u043C \u043F\u043B\u0430\u043D\u043E\u043C', + 'https://nv.ua/rss/2383.xml' + ), ('\u0411\u043B\u043E\u0433 \u041D\u0412', 'https://nv.ua/rss/225.xml'), + ('\u041B\u044C\u0432\u043E\u0432', 'https://nv.ua/rss/233.xml'), + ('\u041E\u0434\u0435\u0441\u0441\u0430', 'https://nv.ua/rss/234.xml'), + ('\u0425\u0430\u0440\u044C\u043A\u043E\u0432', 'https://nv.ua/rss/235.xml'), + ( + '\u0410\u043D\u0435\u043A\u0434\u043E\u0442\u044B', + 'https://nv.ua/rss/2765.xml' + ), + ( + '\u042D\u043A\u0441\u043A\u043B\u044E\u0437\u0438\u0432\u044B \u041D\u0412', + 'https://nv.ua/rss/119.xml' + ) + ] diff --git a/recipes/nv_ua.recipe b/recipes/nv_ua.recipe new file mode 100644 index 0000000000..cb7ced20a6 --- /dev/null +++ b/recipes/nv_ua.recipe @@ -0,0 +1,103 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class NV(BasicNewsRecipe): + title = '\u041D\u0412 (\u00AB\u041D\u043E\u0432\u0438\u0439 \u0427\u0430\u0441\u00BB)' + __author__ = 'bugmen00t' + description = '\u0429\u043E\u0442\u0438\u0436\u043D\u0435\u0432\u0438\u0439 \u0441\u0443\u0441\u043F\u0456\u043B\u044C\u043D\u043E-\u043F\u043E\u043B\u0456\u0442\u0438\u0447\u043D\u0438\u0439 \u0456\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u0439\u043D\u043E-\u043D\u043E\u0432\u0438\u043D\u043D\u0438\u0439 \u0441\u0430\u0439\u0442.' # noqa + publisher = '\u0422\u041E\u0412 \u00AB\u0412\u0438\u0434\u0430\u0432\u043D\u0438\u0447\u0438\u0439 \u0434\u0456\u043C \u00AB\u041C\u0435\u0434\u0456\u0430-\u0414\u041A\u00BB' # noqa + category = 'magazine' + cover_url = u'https://static.nv.ua/shared/system/Article/posters/002/467/576/600x300/272ab80cd01e4022dcb4c691c9073e97.jpg' + language = 'uk' + no_stylesheets = False + remove_javascript = False + auto_cleanup = False + oldest_article = 7 + max_articles_per_feed = 40 + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='article') + + remove_tags = [ + dict(name='div', attrs={'class': 'article__content__footer'}), + dict(name='div', attrs={'class': 'article__head__additional_views'}), + dict(name='div', attrs={'class': 'show_two_positions '}), + dict(name='div', attrs={'class': 'media__also__news'}), + dict(name='div', attrs={'class': 'media__also__news_link'}), + dict(name='blockquote', attrs={'class': 'code'}), + dict(name='section', attrs={'class': 'article-share'}), + dict(name='div', attrs={'class': 'nts-video-wrapper'}), + dict(name='footer'), + dict(name='div', attrs={'class': 'longread_tags'}), + dict(name='div', attrs={'class': 'col-md-6 col-lg-3'}), + dict(name='div', attrs={'class': 'copyright'}), + dict(name='div', attrs={'class': 'media__video'}), + dict(name='div', attrs={'class': 'media__embed'}) + ] + + feeds = [ + ( + '\u0412\u0441\u0456 \u043D\u043E\u0432\u0438\u043D\u0438', + 'https://nv.ua/ukr/rss/all.xml' + ), + ( + '\u0423\u043A\u0440\u0430\u0457\u043D\u0430', + 'https://nv.ua/ukr/rss/2283.xml' + ), ('\u0421\u0432\u0456\u0442', 'https://nv.ua/ukr/rss/2318.xml'), + ( + '\u041F\u043E\u0433\u043B\u044F\u0434\u0438', + 'https://nv.ua/ukr/rss/2671.xml' + ), ('\u041A\u0438\u0457\u0432', 'https://nv.ua/ukr/rss/108.xml'), + ('\u0410\u0440\u0442', 'https://nv.ua/ukr/rss/52.xml'), + ('\u0414\u043E\u0441\u044C\u0454', 'https://nv.ua/ukr/rss/230.xml'), + ('\u0411\u0456\u0437\u043D\u0435\u0441', 'https://nv.ua/ukr/rss/2292.xml'), + ( + '\u041B\u043E\u043D\u0433\u0440\u0456\u0434\u0438', + 'https://nv.ua/ukr/rss/2790.xml' + ), ('\u041A\u0430\u0440\u0442\u043A\u0438', 'https://nv.ua/ukr/rss/48.xml'), + ('\u0422\u0435\u0445\u043D\u043E', 'https://nv.ua/ukr/rss/2346.xml'), + ( + '\u0420\u0435\u0433\u0456\u043E\u043D\u0438', + 'https://nv.ua/ukr/rss/231.xml' + ), ('\u0410\u0432\u0442\u043E', 'https://nv.ua/ukr/rss/154.xml'), + ('Life', 'https://nv.ua/ukr/rss/2325.xml'), + ( + '\u0417\u0434\u043E\u0440\u043E\u0432\u0027\u044F', + 'https://nv.ua/ukr/rss/90.xml' + ), ('\u0421\u043F\u043E\u0440\u0442', 'https://nv.ua/ukr/rss/2371.xml'), + ('\u0410\u0437\u0430\u0440\u0442', 'https://nv.ua/ukr/rss/178.xml'), + ('\u0428\u043E\u043F\u0456\u043D\u0433', 'https://nv.ua/ukr/rss/131.xml'), + ('LOL', 'https://nv.ua/ukr/rss/2365.xml'), + ( + '\u041F\u0440\u0438\u0445\u043E\u0432\u0430\u043D\u0438\u0439 \u0440\u043E\u0437\u0434\u0456\u043B', + 'https://nv.ua/ukr/rss/118.xml' + ), ('\u0424\u041E\u0422\u041E', 'https://nv.ua/ukr/rss/2384.xml'), + ( + '\u0420\u0430\u0434\u0456\u043E \u041D\u0412', + 'https://nv.ua/ukr/rss/3050.xml' + ), ('BBC', 'https://nv.ua/ukr/rss/2836.xml'), + ( + '\u0426\u0438\u0442\u0430\u0442\u0430 \u0434\u043D\u044F', + 'https://nv.ua/ukr/rss/2672.xml' + ), ('\u0414\u043D\u0456\u043F\u0440\u043E', 'https://nv.ua/ukr/rss/232.xml'), + ( + '\u041A\u0440\u0443\u043F\u043D\u0438\u043C \u043F\u043B\u0430\u043D\u043E\u043C', + 'https://nv.ua/ukr/rss/2383.xml' + ), + ('\u0411\u043B\u043E\u0433 \u041D\u0412', 'https://nv.ua/ukr/rss/225.xml'), + ('\u041B\u044C\u0432\u0456\u0432', 'https://nv.ua/ukr/rss/233.xml'), + ('\u041E\u0434\u0435\u0441\u0430', 'https://nv.ua/ukr/rss/234.xml'), + ('\u0425\u0430\u0440\u043A\u0456\u0432', 'https://nv.ua/ukr/rss/235.xml'), + ( + '\u0410\u043D\u0435\u043A\u0434\u043E\u0442\u0438', + 'https://nv.ua/ukr/rss/2765.xml' + ), + ( + '\u0415\u043A\u0441\u043A\u043B\u044E\u0437\u0438\u0432\u0438 \u041D\u0412', + 'https://nv.ua/ukr/rss/119.xml' + ) + ] diff --git a/recipes/rbcua_ru.recipe b/recipes/rbcua_ru.recipe new file mode 100644 index 0000000000..338ae1bff3 --- /dev/null +++ b/recipes/rbcua_ru.recipe @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class RBCUA(BasicNewsRecipe): + title = '\u0420\u0411\u041A-\u0423\u043A\u0440\u0430\u0438\u043D\u0430' + __author__ = 'bugmen00t' + description = '\u0423\u043A\u0440\u0430\u0438\u043D\u0441\u043A\u043E\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0435 \u0430\u0433\u0435\u043D\u0442\u0441\u0442\u0432\u043E, \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u0443\u044E\u0449\u0435\u0435\u0441\u044F \u043D\u0430 \u0444\u0438\u043D\u0430\u043D\u0441\u043E\u0432\u044B\u0445, \u044D\u043A\u043E\u043D\u043E\u043C\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0438 \u043F\u043E\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u0423\u043A\u0440\u0430\u0438\u043D\u044B.' # noqa + publisher = '\u041E\u041E\u041E \u00AB\u042E\u0431\u0438\u0442\u0438 \u041C\u0435\u0434\u0438\u0430\u00BB' + category = 'news' + cover_url = u'https://www.rbc.ua/static/common/imgs/logo650.jpg' + language = 'ru' + no_stylesheets = False + remove_javascript = False + auto_cleanup = False + oldest_article = 3 + max_articles_per_feed = 20 + + remove_tags_before = dict(name='article') + + remove_tags_after = dict(name='article') + + remove_tags = [ + dict(name='span', attrs={'class': 'lang-publication'}), + dict(name='div', attrs={'class': 'share'}), + dict(name='ins'), + dict(name='div', attrs={'class': 'read-in-google'}), + dict(name='div', attrs={'class': 'intext-tags'}) + ] + + feeds = [('\u0420\u0411\u041A', 'https://www.rbc.ua/static/rss/all.rus.rss.xml')] diff --git a/recipes/rbcua_ua.recipe b/recipes/rbcua_ua.recipe new file mode 100644 index 0000000000..49779b7395 --- /dev/null +++ b/recipes/rbcua_ua.recipe @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class RBCUA(BasicNewsRecipe): + title = '\u0420\u0411\u041A-\u0423\u043A\u0440\u0430\u0457\u043D\u0430' + __author__ = 'bugmen00t' + description = '\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0435 \u0456\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u0439\u043D\u0435 \u0430\u0433\u0435\u043D\u0442\u0441\u0442\u0432\u043E.' # noqa + publisher = '\u0422\u041E\u0412 \u00AB\u042E\u0431\u0456\u0442\u0456 \u041C\u0435\u0434\u0456\u0430\u00BB' + category = 'news' + cover_url = u'https://www.rbc.ua/static/img/r/b/rbc_pic_best_news_650x410_2_650x410_1_650x410_1_480x270.jpg' + language = 'uk' + no_stylesheets = False + remove_javascript = False + auto_cleanup = False + oldest_article = 3 + max_articles_per_feed = 20 + + remove_tags_before = dict(name='article') + + remove_tags_after = dict(name='article') + + remove_tags = [ + dict(name='span', attrs={'class': 'lang-publication'}), + dict(name='div', attrs={'class': 'share'}), + dict(name='ins'), + dict(name='div', attrs={'class': 'read-in-google'}), + dict(name='div', attrs={'class': 'intext-tags'}) + ] + + feeds = [('\u0420\u0411\u041A', 'https://www.rbc.ua/static/rss/all.ukr.rss.xml')] diff --git a/recipes/snob.recipe b/recipes/snob.recipe new file mode 100644 index 0000000000..dbc8083645 --- /dev/null +++ b/recipes/snob.recipe @@ -0,0 +1,34 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class Snob(BasicNewsRecipe): + title = '\u0421\u043D\u043E\u0431' + __author__ = 'bugmen00t' + description = '\u0414\u0438\u0441\u043A\u0443\u0441\u0441\u0438\u043E\u043D\u043D\u043E\u0435, \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E\u0435 \u0438 \u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0435 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u043B\u044E\u0434\u0435\u0439, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0436\u0438\u0432\u0443\u0442 \u0432 \u0440\u0430\u0437\u043D\u044B\u0445 \u0441\u0442\u0440\u0430\u043D\u0430\u0445, \u0433\u043E\u0432\u043E\u0440\u044F\u0442 \u043D\u0430 \u0440\u0430\u0437\u043D\u044B\u0445 \u044F\u0437\u044B\u043A\u0430\u0445, \u043D\u043E \u0434\u0443\u043C\u0430\u044E\u0442 \u043F\u043E-\u0440\u0443\u0441\u0441\u043A\u0438.' # noqa + publisher = '\u041E\u041E\u041E \u00AB\u0421\u043D\u043E\u0431 \u041C\u0435\u0434\u0438\u0430\u00BB' + category = 'magazine' + cover_url = u'https://snob.ru/indoc/tilda/995317/images/tild3233-6631-4664-b663-353636373235__e3057a5fee932ada1aaf.png' + language = 'ru' + no_stylesheets = False + remove_javascript = False + auto_cleanup = False + oldest_article = 5 + max_articles_per_feed = 50 + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='article') + + remove_tags = [ + dict(name='div', attrs={'class': 'entry__tags'}), + dict(name='div', attrs={'class': 'entry__likes'}) + ] + + feeds = [('\u0421\u043D\u043E\u0431', 'https://snob.ru/rss/')] + + def get_article_url(self, article): + link = article.get('link', None) + return link.split('?utm')[0] diff --git a/recipes/tayga.recipe b/recipes/tayga.recipe new file mode 100644 index 0000000000..3b63508fff --- /dev/null +++ b/recipes/tayga.recipe @@ -0,0 +1,30 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class Tayga(BasicNewsRecipe): + title = '\u0422\u0430\u0439\u0433\u0430.\u0438\u043D\u0444\u043E' + __author__ = 'bugmen00t' + description = '\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u043E-\u0430\u043D\u0430\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442-\u0438\u0437\u0434\u0430\u043D\u0438\u0435 \u043E \u043F\u043E\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0438 \u044D\u043A\u043E\u043D\u043E\u043C\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0441\u043E\u0431\u044B\u0442\u0438\u044F\u0445 \u0421\u0438\u0431\u0438\u0440\u0441\u043A\u043E\u0433\u043E \u0444\u0435\u0434\u0435\u0440\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u043E\u043A\u0440\u0443\u0433\u0430.' # noqa + publisher = '\u0422\u0430\u0439\u0433\u0430.\u0438\u043D\u0444\u043E' + category = 'blog' + cover_url = u'https://tayga.info/design/logo.svg' + language = 'ru' + no_stylesheets = True + remove_javascript = False + auto_cleanup = False + oldest_article = 7 + max_articles_per_feed = 60 + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='div', attrs={'class': 'news_content'}) + + remove_tags = [dict(name='p', attrs={'class': 't_left'})] + + feeds = [( + '\u0422\u0430\u0439\u0433\u0430.\u0438\u043D\u0444\u043E', + 'https://tayga.info/rss' + )]