From 1e80822d607230ae3b3174313d960bc204c5fae4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 10 Aug 2022 07:48:02 +0530 Subject: [PATCH] more russian and ukranian news sources by bugmen00t --- recipes/baikaljournal.recipe | 35 ++++++++++ recipes/currenttime.recipe | 109 ++++++++++++++++++++++++++++++++ recipes/fontanka.recipe | 48 ++++++++++++++ recipes/icons/baikaljournal.png | Bin 0 -> 1475 bytes recipes/icons/currenttime.png | Bin 0 -> 441 bytes recipes/icons/fontanka.png | Bin 0 -> 1919 bytes recipes/icons/thebell.png | Bin 0 -> 658 bytes recipes/snob.recipe | 3 +- recipes/thebell.recipe | 46 ++++++++++++++ 9 files changed, 240 insertions(+), 1 deletion(-) create mode 100644 recipes/baikaljournal.recipe create mode 100644 recipes/currenttime.recipe create mode 100644 recipes/fontanka.recipe create mode 100644 recipes/icons/baikaljournal.png create mode 100644 recipes/icons/currenttime.png create mode 100644 recipes/icons/fontanka.png create mode 100644 recipes/icons/thebell.png create mode 100644 recipes/thebell.recipe diff --git a/recipes/baikaljournal.recipe b/recipes/baikaljournal.recipe new file mode 100644 index 0000000000..58d4e86d07 --- /dev/null +++ b/recipes/baikaljournal.recipe @@ -0,0 +1,35 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class BaikalJournal(BasicNewsRecipe): + title = '\u041B\u044E\u0434\u0438 \u0411\u0430\u0439\u043A\u0430\u043B\u0430' + __author__ = 'bugmen00t' + description = '\u041D\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043C\u044B\u0439 \u0430\u0432\u0442\u043E\u0440\u0441\u043A\u0438\u0439 \u0438\u043D\u0442\u0435\u0440\u043D\u0435\u0442-\u0436\u0443\u0440\u043D\u0430\u043B \u043E \u0436\u0438\u0437\u043D\u0438 \u0432 \u0421\u0438\u0431\u0438\u0440\u0438 \u0438 \u0432\u043E\u043A\u0440\u0443\u0433 \u0411\u0430\u0439\u043A\u0430\u043B\u0430, \u043E\u043F\u0438\u0441\u044B\u0432\u0430\u044E\u0449\u0438\u0439 \u0436\u0438\u0437\u043D\u044C \u0432 \u0441\u0438\u0431\u0438\u0440\u0441\u043A\u043E\u0439 \u0433\u043B\u0443\u0431\u0438\u043D\u043A\u0435.' # noqa + publisher = '\u041E\u043B\u044C\u0433\u0430 \u041C\u0443\u0442\u043E\u0432\u0438\u043D\u0430, \u0415\u043B\u0435\u043D\u0430 \u0422\u0440\u0438\u0444\u043E\u043D\u043E\u0432\u0430' # noqa + category = 'blog' + cover_url = u'https://baikal-journal.ru/wp-content/themes/baikal/assets/img/logo-full.svg' + language = 'ru' + no_stylesheets = False + remove_javascript = False + auto_cleanup = False + oldest_article = 30 + max_articles_per_feed = 10 + + remove_tags = [ + dict(name='div', attrs={'class': 'distance-badge'}), + dict(name='div', attrs={'class': 'lead-footer__sharing'}), + dict(name='div', attrs={'class': 'm-block-ctaline'}), + dict(name='div', attrs={'class': 'm-block-readmore format-inline'}), + dict(name='footer'), + dict(name='div', attrs={'class': 'related-block'}), + dict(name='div', attrs={'class': 'selection-block'}), + dict(name='div', attrs={'class': 'last-cta'}) + ] + + feeds = [( + '\u041B\u044E\u0434\u0438 \u0411\u0430\u0439\u043A\u0430\u043B\u0430', + 'https://baikal-journal.ru/feed/' + )] diff --git a/recipes/currenttime.recipe b/recipes/currenttime.recipe new file mode 100644 index 0000000000..abb63fa430 --- /dev/null +++ b/recipes/currenttime.recipe @@ -0,0 +1,109 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class CurrentTime(BasicNewsRecipe): + title = '\u041D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0435 \u0432\u0440\u0435\u043C\u044F' + __author__ = 'bugmen00t' + description = '\u0422\u0435\u043B\u0435\u043A\u0430\u043D\u0430\u043B "\u041D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0435 \u0412\u0440\u0435\u043C\u044F" \u0440\u0430\u0441\u0441\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u043E \u0432\u0430\u0436\u043D\u044B\u0445 \u043D\u043E\u0432\u043E\u0441\u0442\u044F\u0445 \u0438 \u0437\u043B\u043E\u0431\u043E\u0434\u043D\u0435\u0432\u043D\u044B\u0445 \u0442\u0435\u043C\u0430\u0445, \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u044F \u0430\u0443\u0434\u0438\u0442\u043E\u0440\u0438\u0438 \u0442\u043E, \u0447\u0442\u043E \u043D\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043C\u043E\u0433\u0443\u0442 \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0442\u044C \u043C\u0435\u0441\u0442\u043D\u044B\u0435 \u0421\u041C\u0418: \u043D\u043E\u0432\u043E\u0441\u0442\u0438 \u0431\u0435\u0437 \u0446\u0435\u043D\u0437\u0443\u0440\u044B, \u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0439 \u043E\u0431\u043C\u0435\u043D \u043C\u043D\u0435\u043D\u0438\u044F\u043C\u0438, \u043E\u0442\u043A\u0440\u044B\u0442\u043E\u0435 \u043E\u0431\u0441\u0443\u0436\u0434\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C.' # noqa + publisher = 'RFE/RL ("\u0420\u0430\u0434\u0438\u043E \u0421\u0432\u043E\u0431\u043E\u0434\u043D\u0430\u044F \u0415\u0432\u0440\u043E\u043F\u0430"/"\u0420\u0430\u0434\u0438\u043E \u0421\u0432\u043E\u0431\u043E\u0434\u0430") \u043F\u0440\u0438 \u0443\u0447\u0430\u0441\u0442\u0438\u0438 VoA ("\u0413\u043E\u043B\u043E\u0441 \u0410\u043C\u0435\u0440\u0438\u043A\u0438")' # noqa + category = 'newspaper' + cover_url = u'https://www.currenttime.tv/Content/responsive/RFE/ru-RU-TV/img/top_logo_news.png' + language = 'ru' + no_stylesheets = False + remove_javascript = False + auto_cleanup = False + remove_empty_feeds = True + oldest_article = 14 + max_articles_per_feed = 20 + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='div', attrs={'class': 'body-container'}) + + remove_tags = [ + dict(name='div', attrs={'class': 'publishing-details '}), + dict(name='div', attrs={'class': 'separator'}), + dict(name='div', attrs={'class': 'links'}), + dict(name='div', attrs={'class': 'share--box'}), + dict(name='aside'), + dict(name='div', attrs={'class': 'media-block also-read'}), + dict(name='div', attrs={'class': 'media-block-wrap'}), + dict(name='div', attrs={'class': 'media-download'}), + dict(name='div', attrs={'class': 'wsw__embed'}), + dict(name='div', attrs={'class': 'share--box'}), + dict(name='div', attrs={'class': 'prog-hdr'}), + dict(name='div', attrs={'class': 'dropdown__holder'}), + dict(name='div', attrs={'id': 'ymla-section'}), + dict(name='div', attrs={'id': 'comments'}), + dict(name='a', attrs={'class': 'back-to-top-link'}), + dict(name='footer'), + dict(name='li', attrs={'class': 'socials block-socials'}), + dict(name='div', attrs={'data-sp_api': 'pangea-video'}) + ] + + feeds = [ + ( + '\u041D\u043E\u0432\u043E\u0441\u0442\u0438', + 'https://www.currenttime.tv/api/zgbip_e_tpp_' + ), + ( + '\u0421\u0435\u043C\u044C \u0441\u043E\u0440\u043E\u043A', + 'https://www.currenttime.tv/api/ztktpyeimupt' + ), + ( + '\u042D\u043A\u0441\u043A\u043B\u044E\u0437\u0438\u0432', + 'https://www.currenttime.tv/api/zpyomoe-rimi' + ), + ( + '\u0412\u044B\u0431\u043E\u0440 \u0440\u0435\u0434\u0430\u043A\u0446\u0438\u0438', + 'https://www.currenttime.tv/api/zqk-poekpbpo' + ), + ( + '\u0420\u043E\u0441\u0441\u0438\u044F', + 'https://www.currenttime.tv/api/zuvmpvepo_pv' + ), + ( + '\u0423\u043A\u0440\u0430\u0438\u043D\u0430', + 'https://www.currenttime.tv/api/zkvmptemo_pt' + ), + ( + '\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u044C', + 'https://www.currenttime.tv/api/zvvmm_eoo_mt' + ), + ('\u0410\u0437\u0438\u044F', 'https://www.currenttime.tv/api/zbvtpqetoupq'), + ( + '\u0415\u0432\u0440\u043E\u043F\u0430', + 'https://www.currenttime.tv/api/z-vmpoevo_pi' + ), + ( + '\u0410\u043C\u0435\u0440\u0438\u043A\u0430', + 'https://www.currenttime.tv/api/zbvmpieto_pp' + ), + ( + '\u0411\u043B\u0438\u0436\u043D\u0438\u0439 \u0412\u043E\u0441\u0442\u043E\u043A', + 'https://www.currenttime.tv/api/zrvtppeuqupm' + ), + ( + '\u041B\u043E\u043D\u0433\u0440\u0438\u0434\u044B', + 'https://www.currenttime.tv/api/zibmmyejv_my' + ), + ( + '\u0420\u0435\u043F\u043E\u0440\u0442\u0430\u0436', + 'https://www.currenttime.tv/api/zrpppqeujppo' + ), + ( + '\u0420\u0435\u043F\u043E\u0440\u0442\u0430\u0436\u0438 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u044B \u0412\u0435\u0447\u0435\u0440', + 'https://www.currenttime.tv/api/zvrrmoeourmp' + ), + ( + '\u0418\u043D\u0442\u0435\u0440\u0432\u044C\u044E', + 'https://www.currenttime.tv/api/zqpppoekjppi' + ), + ( + '\u0418\u043D\u0444\u043E\u0433\u0440\u0430\u0444\u0438\u043A\u0430', + 'https://www.currenttime.tv/api/zmqmpyebumpv' + ) + ] diff --git a/recipes/fontanka.recipe b/recipes/fontanka.recipe new file mode 100644 index 0000000000..99d210cd62 --- /dev/null +++ b/recipes/fontanka.recipe @@ -0,0 +1,48 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class Fontanka(BasicNewsRecipe): + title = '\u0424\u043E\u043D\u0442\u0430\u043D\u043A\u0430' + __author__ = 'bugmen00t' + description = '\u0415\u0436\u0435\u0434\u043D\u0435\u0432\u043D\u043E\u0435 \u043F\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0441\u043A\u043E\u0435 \u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E-\u043F\u043E\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0441\u0435\u0442\u0435\u0432\u043E\u0435 \u0438\u0437\u0434\u0430\u043D\u0438\u0435.' # noqa + publisher = '\u0410\u041E "\u0410\u0416\u0423\u0420-\u041C\u0415\u0414\u0418\u0410"' + category = 'blog' + cover_url = u'https://www.fontanka.ru/longreads/69505589/2015/images/tild3834-3362-4166-b239-366134363733____-01.png' + language = 'ru' + no_stylesheets = False + remove_javascript = False + auto_cleanup = False + oldest_article = 7 + max_articles_per_feed = 30 + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='section', attrs={'itemprop': 'articleBody'}) + + remove_tags = [ + dict(name='div', attrs={'class': 'ADdj ADc5'}), + dict(name='div', attrs={'class': 'DLj1'}), + dict(name='div', attrs={'class': 'DTrp'}), + dict(name='div', attrs={'class': 'EHed'}), + dict(name='div', attrs={'class': 'FHwp'}), + dict(name='div', attrs={'class': 'ENr-'}), + dict(name='div', attrs={'class': 'ENt7'}), + dict(name='div', attrs={'class': 't004'}), + dict(name='div', attrs={'class': 't120'}), + dict(name='div', attrs={'class': 't123'}), + dict(name='div', attrs={'class': 't405'}), + dict(name='div', attrs={'class': 't463'}), + # For articles from https://doctorpiter.ru + dict( + name='div', attrs={'class': 'article__block article__block_type-links'} + ), + dict(name='div', attrs={'class': 'feedback-request-form__before'}), + dict(name='div', attrs={'class': 'related-entities-container'}), + dict(name='div', attrs={'class': 'tags article-footer__tags'}), + dict(name='hr', attrs={'class': 'article-footer-divider'}) + ] + + feeds = [('Fontanka.ru', 'https://www.fontanka.ru/fontanka.rss')] diff --git a/recipes/icons/baikaljournal.png b/recipes/icons/baikaljournal.png new file mode 100644 index 0000000000000000000000000000000000000000..9dff29b8e47e83830b8e28984b77d96b20c9b76c GIT binary patch literal 1475 zcmV;!1w8tRP)9Da}WXqcbULp+$hAGmaUeZWt!0>1bwJ znqiPa(rAjP1p8ng?33NS`+o1<-K8I_94^bQPOIyF)%Q)vU62ximd-8?>xyDnrV7S03NS*RD6=p z5ytX@Lb65E^c#zoeOb<8+QYljX4g2KHFCv6oqlkD-PPX_?-(N@C+kd>V0ZO&b?IHM zGXl|JHkV^C8v9=&Fu>U4*O&kp>q_?xG&49|w<*n`Hg0(v=d7^frb>OVm4o?3v6RFr z008UKTWXEMW^Ytc_-)c?#TLsQs{0qaK>?!D-t;*Q z85@&VxSN1&VZ>eMbUx7OS!^DTd{)$PSEI!}Fux?0{;8%g!BE-l0RYa|-y|N>*KbrC zjn9mW@%=^GX^#i5;rbUkByiEFQX@($i%L`0ZG1n!plJWW>UIG#!8RCWRvWSs03cz} zG6GQ7{17YYA8sNmpI4p2%g1>FiNy*e9K5jpW@zMO-|o|6CaG+8wcT+|t~lQzwz}Q^ z0N3xg5MR;h3w(>e_bx`x&8%u^#lg>u#0T3ryBiu)H-9ps*LyeFqNcJqyc2vOxD=R0 zDS2y%b?M17WF6&}v?Pa3X%PXj#ah?Oo|CtBczA>#)7BR6ZBVKJ@AP;A06Y|m$U7q^ zO=WWCYV(5wEv-LGWQce!t1>hq&d>Gm(UG}3iV*Z>txj&W`GVsQkg?%o^1^~m`F&DK z)5m!Hzx4)$e(BL~{SF>7HtO}&AKm5he8%AGjZS5NLhDdbA>*PS9VcvJQ@h}iFnGNv zCCcHbRdhCqC7}~uVn%#T$zElDVF)UAOui?tSVgvR9F)>gZac^~<-K*pCN5)<-fV_} zM5DDh9D@TGtu{Hr*E2};q4c+Uss>u7Fq%Vp3nJ|078C4V;kN+#B1$0l*myL=~i(j}j*d_b{pfEp4WN=-{@A;?_cxav zfxV_;KL9$iQ$1!A{-Pt106JW*egH0y2NH&Ax+IYrTrQ;d2%8J;TWI>eR)Fw`{NC%Y3~P3spTpVT0YdZ!D)!Kr_hDNHUJx(|-lD^-9& zFD!56gff(QRnZ=IuVmig@y8_f_3(GL7Wn7jo>qr6;syu~a!|?T`{oD~^c{0tqE4Yq z*;2ryTpfQ>J0YF5`?!dtj9P|o}!+BXML(qJw2B|vj_79Q4`9(zYw_4cs;Ix0a7BpASgaPFt2JC;QN4lBFJ^R*=skDPYvc685RH4 zxgQ>2BR0prCPp zPlzj!Hc;p{keIG5Jyl0yx~|kTU5TlBlGF60rs|4M)0UbJBz1vYAX{>Z7MSgnZ}$l`XStOx1}zudZ4s?2eo&t>ATMf^GWwYht}$76f~Ed3#3+w14vL zmff^TbW+yF1{;0_Z7cVnUFVc$`AnL~yREtWd5!Ho?dl@E%y^f-o_t^19?Dhe+xVY< z^rdf$vrL}S%P(`xB6h9jPq?xFOv=Y^3tw&O;C!_;{NDC10~?c1^2d@a-nplpDmi#( zk?PE=pL4@KUr3)ixKlaw=BlaBviuEg{vPjonLVSpHSurkKEEA5Os8f{pY=w)=V8r% c@jR#a1s`Mt7JY7t1cn=fr>mdKI;Vst0JV*>E&u=k literal 0 HcmV?d00001 diff --git a/recipes/icons/fontanka.png b/recipes/icons/fontanka.png new file mode 100644 index 0000000000000000000000000000000000000000..fa2990d1a41ff20057248d2271d974e818946e73 GIT binary patch literal 1919 zcmV-_2Y~pAP)Nl48EBBCHvrL?%AW$rR_XYS1Dcg{Z` z!Z5Zq=_G$nHDvl%b z%N68p%_Z;gO7b>uBn#gSAgFJEF`Hbte|A(@7whDB(-0h|!WV+GdR-JNf~^CY|^k1dW_+#?_+Ckp75;AKRkX{%=dN!^X!sGH-GV4>w{%#*R!?$464KjBu zCp||KIT2!lShvP$647&34t}l1ObU6PP@wNBS-X}(=wi~p&=eJ=pkmhw((?g*zDo=d z3i33vI}cH4Y?!=9$^?xFM(`QeBIY?@XV0z1bP8E7AnYsBGa#fq9^U;zfu0VsFYc$n z9j4_Vv?Zpiu<0auWn8-hI<`$h-I?m9-~1aQ5DJgb=oIFjok58}qG|CHYFL3l`&fd}cWyTYpFf1BCvknAa31pM__)u5!7yhn3Iz92Ef0JaK2Vpb&reh+!uYa|UhCX6!oq)>+28M#B&o)kfgYk^st zEHU71D-_hMhBWcm8R?a{;2`#$smArZumN$A4G{htQYd7O;eDlipJ+NP*x&O#1qQn0 zcPUUvIlTZzZ(B?u{VAFIQpK1+&v~ThFjDmZ>1)-!zK(jN<9hX6L<%Nyzd2hBFt;a> zUZhRtw0-p$(yd#(Hi~1z)S%Q>Ek<$rK#G;MFGY;9I~ri<6|%nBATp#dU1=qgQ7edM z0O0W+$tMDwY=BV`qke12ry$@oics-bd1a!|V>Ya#;2$VLJC{=M;KQEUi3Z7O(-Z)H;+w$0S*0kzL(cGR7*V7Gta_f%VQ%|Ss+@g( zk02EM^Dg;L)~R}t3&ZmnokWQn4qD&2I+az^s^RNFDCw4jl(NZpww^rcc=%+EG!}Wd zBtcTpI-CVWZj-NltEzfXV&6Ceif%|68kO@EN)K@=P`pU#6Qzu!t)83k?`PA1DL(+9fD-77H@aI?CI z3}{51I0i%0XQW=#QY_w7#v`r9&_wPl744JkSOTm zqZ!~~10s)PVI!;qYozPRE8xTDA@XAov61f_8_vT!(w1QB)oAkVSyZc9B_rIzH`lx z_o69FNp#MqE++lF6v=kPYZ9+Zdg(u0%_6R4|86yFPjMw_Qx`=1u#gwW|6w`phpt7F zx~Hw@a}g8S9GJXP>uP6s+x2{$SAAajc@^Wo0H&_ze*^!1zxpPzgg^iQ002ovPDHLk FV1nL^fmHwi literal 0 HcmV?d00001 diff --git a/recipes/icons/thebell.png b/recipes/icons/thebell.png new file mode 100644 index 0000000000000000000000000000000000000000..60597cb0ceda74eeff4414f24441cf0db15aa757 GIT binary patch literal 658 zcmZutYe8Wog7D6+~U&@+;B2Y;&8s=I5H5O*0lo6x}RVq0@9)S(#43 zGNcwc@z(Ofvea5BR;y@O5OdnFX|_UE%9vZ*o<8w!aBiIQ>v^v6xLJYzWPgNEAe%+U z3E#0s-wlM)AJ$J2=69MUDnlqBWQ|@^voaS^F7k5tj5LIvlSu1ukw|V5X$!2uWJk!0#-^w9v3Ir2hQe3WU}omV7K)yoou{n`4fRQy;Z01IdhC_k z6F3J`@BVoD^X%R```Ufydi$~?<17MB21Zlwj2jwli_{fo79P8FV6Idu(+%LE4qAuL zoT4c}roN|-D(qJHr`k$QO*p5^;=Y*WWGK~-tNsjR%JQyis~Tv>Zyt5_cx$l-8qsZW zikE&^*}yIl>%VUkN^+FB_x*&DBR$lw5mYVKZ_|>InZ_#HnokY08dViM5%c}WUhmhN z5w_c|4O@!fz9a{25lV`yFN>u8Z%!RfOO$Won_^J&FXJ9menKdhhe_+A22CHx