From 543ac61c1f06c9c36118e1d12feec9e18d9b4a0c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 22 Jul 2022 12:26:01 +0530 Subject: [PATCH] various russian news sources by bugmen00t --- recipes/bbc_ru.recipe | 32 +++++++++++ recipes/cedar.recipe | 42 +++++++++++++++ recipes/deutsche_welle_ru.recipe | 71 +++++++++++++++++++++++++ recipes/icons/bbc_ru.png | Bin 0 -> 88 bytes recipes/icons/cedar.png | Bin 0 -> 5796 bytes recipes/icons/deutsche_welle_ru.png | Bin 0 -> 1027 bytes recipes/icons/favicon.ico | Bin 0 -> 1150 bytes recipes/icons/novaya_gazeta_europe.png | Bin 0 -> 2714 bytes recipes/icons/old_games.png | Bin 0 -> 452 bytes recipes/icons/unian_net.png | Bin 0 -> 448 bytes recipes/icons/verstka.png | Bin 0 -> 2089 bytes recipes/novaya_gazeta_europe.recipe | 38 +++++++++++++ recipes/old_games.recipe | 42 +++++++++++++++ recipes/unian_net.recipe | 29 ++++++++++ recipes/verstka.recipe | 28 ++++++++++ 15 files changed, 282 insertions(+) create mode 100644 recipes/bbc_ru.recipe create mode 100644 recipes/cedar.recipe create mode 100644 recipes/deutsche_welle_ru.recipe create mode 100644 recipes/icons/bbc_ru.png create mode 100644 recipes/icons/cedar.png create mode 100644 recipes/icons/deutsche_welle_ru.png create mode 100644 recipes/icons/favicon.ico create mode 100644 recipes/icons/novaya_gazeta_europe.png create mode 100644 recipes/icons/old_games.png create mode 100644 recipes/icons/unian_net.png create mode 100644 recipes/icons/verstka.png create mode 100644 recipes/novaya_gazeta_europe.recipe create mode 100644 recipes/old_games.recipe create mode 100644 recipes/unian_net.recipe create mode 100644 recipes/verstka.recipe diff --git a/recipes/bbc_ru.recipe b/recipes/bbc_ru.recipe new file mode 100644 index 0000000000..30f6603782 --- /dev/null +++ b/recipes/bbc_ru.recipe @@ -0,0 +1,32 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class BBC(BasicNewsRecipe): + title = u'BBC Russian' + description = u'\u0420\u0443\u0441\u0441\u043A\u0430\u044F \u0441\u043B\u0443\u0436\u0431\u0430 BBC' + __author__ = 'bugmen00t' + publication_type = 'newspaper' + oldest_article = 14 + max_articles_per_feed = 50 + language = 'ru' + cover_url = 'https://news.files.bbci.co.uk/ws/img/logos/og/russian.png' + auto_cleanup = False + no_stylesheets = True + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='main', attrs={'aria-hidden': 'true'}) + + remove_tags = [ + dict(name='section', attrs={'role': 'region'}), + dict(name='footer'), + dict(name='aside') + ] + + feeds = [( + u'\u041D\u043E\u0432\u043E\u0441\u0442\u0438 BBC', + 'https://feeds.bbci.co.uk/russian/rss.xml' + )] diff --git a/recipes/cedar.recipe b/recipes/cedar.recipe new file mode 100644 index 0000000000..f3625509f0 --- /dev/null +++ b/recipes/cedar.recipe @@ -0,0 +1,42 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class Cedar(BasicNewsRecipe): + title = u'\u041A\u0435\u0434\u0440' + description = u'\u041D\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0435 \u043C\u0435\u0434\u0438\u0430 \u043E\u0431 \u043E\u043A\u0440\u0443\u0436\u0430\u044E\u0449\u0435\u0439 \u0441\u0440\u0435\u0434\u0435' # noqa + __author__ = 'bugmen00t' + publication_type = 'blog' + oldest_article = 30 + max_articles_per_feed = 20 + language = 'ru' + cover_url = 'https://kedr.media/wp-content/themes/kedrmedia_gutenberg/assets/img/logo-bg.svg' + auto_cleanup = True + no_stylesheets = False + + remove_tags_before = dict(name='div', attrs={'class': 'post-header'}) + + remove_tags_after = dict(name='div', attrs={'class': 'post-content'}) + + feeds = [( + u'\u0418\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u044F', + 'https://kedr.media/category/research/feed' + ), + ( + u'\u0418\u0441\u0442\u043E\u0440\u0438\u0438', + 'https://kedr.media/category/stories/feed' + ), + ( + u'\u041C\u043D\u0435\u043D\u0438\u044F', + 'https://kedr.media/category/opinions/feed' + ), + ( + u'\u0418\u043D\u0442\u0435\u0440\u0432\u044C\u044E', + 'https://kedr.media/category/interview/feed' + ), + ( + u'\u041E\u0431\u044A\u044F\u0441\u043D\u044F\u0435\u043C', + 'https://kedr.media/category/explain/feed' + )] diff --git a/recipes/deutsche_welle_ru.recipe b/recipes/deutsche_welle_ru.recipe new file mode 100644 index 0000000000..0fbbcc6327 --- /dev/null +++ b/recipes/deutsche_welle_ru.recipe @@ -0,0 +1,71 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class DeutscheWelle(BasicNewsRecipe): + title = u'Deutsche Welle \u043D\u0430 \u0440\u0443\u0441\u0441\u043A\u043E\u043C' + description = u'\u0420\u0443\u0441\u0441\u043A\u0430\u044F \u0440\u0435\u0434\u0430\u043A\u0446\u0438\u044F Deutsche Welle: \u043D\u043E\u0432\u043E\u0441\u0442\u0438, \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u043A\u0430, \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438 \u0438 \u0440\u0435\u043F\u043E\u0440\u0442\u0430\u0436\u0438 \u0438\u0437 \u0413\u0435\u0440\u043C\u0430\u043D\u0438\u0438 \u0438 \u0415\u0432\u0440\u043E\u043F\u044B, \u043D\u0435\u043C\u0435\u0446\u043A\u0438\u0439 \u0438 \u0435\u0432\u0440\u043E\u043F\u0435\u0439\u0441\u043A\u0438\u0439 \u0432\u0437\u0433\u043B\u044F\u0434 \u043D\u0430 \u0441\u043E\u0431\u044B\u0442\u0438\u044F \u0432 \u0420\u043E\u0441\u0441\u0438\u0438 \u0438 \u043C\u0438\u0440\u0435, \u043F\u0440\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0441\u043E\u0432\u0435\u0442\u044B \u0434\u043B\u044F \u0442\u0443\u0440\u0438\u0441\u0442\u043E\u0432 \u0438 \u0442\u0435\u0445, \u043A\u0442\u043E \u0436\u0435\u043B\u0430\u0435\u0442 \u0443\u0447\u0438\u0442\u044C\u0441\u044F \u0438\u043B\u0438 \u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C \u0432 \u0413\u0435\u0440\u043C\u0430\u043D\u0438\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u0440\u0430\u043D\u0430\u0445 \u0415\u0432\u0440\u043E\u0441\u043E\u044E\u0437\u0430.' # noqa + __author__ = 'bugmen00t' + publication_type = 'newspaper' + oldest_article = 14 + max_articles_per_feed = 100 + language = 'ru' + cover_url = 'https://www.dw.com/cssi/dwlogo-print.gif' + auto_cleanup = False + no_stylesheets = False + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='div', attrs={'class': 'longText'}) + + feeds = [ + ( + u'\u0412\u0435\u0441\u044C \u0441\u0430\u0439\u0442', + 'https://rss.dw.com/xml/rss-ru-all' + ), + ( + u'\u041D\u043E\u0432\u043E\u0441\u0442\u0438', + 'http://rss.dw.de/xml/rss-ru-news' + ), + ( + u'\u041F\u043E\u043B\u0438\u0442\u0438\u043A\u0430 \u0438 \u043E\u0431\u0449\u0435\u0441\u0442\u0432\u043E', + 'http://rss.dw.de/xml/rss-ru-pol' + ), + ( + u'\u042D\u043A\u043E\u043D\u043E\u043C\u0438\u043A\u0430', + 'http://rss.dw.de/xml/rss-ru-eco' + ), + ( + u'\u0410\u0432\u0442\u043E\u043C\u043E\u0431\u0438\u043B\u044C', + 'http://rss.dw.de/xml/rss-ru-auto' + ), + ( + u'\u041A\u0443\u043B\u044C\u0442\u0443\u0440\u0430 \u0438 \u0441\u0442\u0438\u043B\u044C \u0436\u0438\u0437\u043D\u0438', + 'http://rss.dw.de/xml/rss-ru-cul' + ), + (u'\u0420\u043E\u0441\u0441\u0438\u044F', 'http://rss.dw.de/xml/rss-ru-rus'), + ( + u'\u0413\u0435\u0440\u043C\u0430\u043D\u0438\u044F', + 'http://rss.dw.de/xml/rss-ru-ger' + ), + (u'\u0415\u0432\u0440\u043E\u043F\u0430', 'http://rss.dw.de/xml/rss-ru-eu'), + ( + u'\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u044C', + 'http://rss.dw.de/xml/rss-ru-bel' + ), + ( + u'\u0423\u0447\u0435\u0431\u0430 \u0438 \u043A\u0430\u0440\u044C\u0435\u0440\u0430', + 'http://rss.dw.de/xml/rss-ru-campus-karriere' + ), + (u'\u0423\u0447\u0435\u0431\u0430 ', 'http://rss.dw.de/xml/rss-ru-campus'), + ( + u'\u041A\u0430\u0440\u044C\u0435\u0440\u0430 ', + 'http://rss.dw.de/xml/rss-ru-karriere' + ), + ( + u'\u0422\u0443\u0440\u0438\u0441\u0442\u0443 \u043D\u0430 \u0437\u0430\u043C\u0435\u0442\u043A\u0443', + 'http://rss.dw.de/xml/rss-ru-discover-ger' + ) + ] diff --git a/recipes/icons/bbc_ru.png b/recipes/icons/bbc_ru.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7cb3459ac2f9cb95baddba73b3273c6bfa120e GIT binary patch literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx?BpA#)4xIr~@}4e^Ar-fhfBctkl#q~|R4Lh{ jW~9R1t=z00004XF*Lt006O% z3;baP0000uWmrjOO-%qQ0000800D<-00aO40096102%-Q00002paK8{000010001C zpaTE|000010001C00000Fg>4#000&jNklL?;4>DTED>QtmvK^Txd3Drbp zDOH3>C8$+|5J~dhJ@Y&7h(-viG| z+^}n5MVowWUUVx`%GcW!Y)z;xDZgGndaVq3OABvTejqc9vg!pZ|JzEpeTN9gzV+x2 zdf6_ZGqw^VsWJ&Owamk$xz(JrwyA-Xge;>Dy2NT~)URX`~@F}VV!x_tbD zGcS);D28y#MrA5_@zuFU5zZsw1>2G~QZNxpA>=!|7M72;3WW;fEh%W^<8eN;6L%}K z7Rr!7B8mt3;M>(IsaB?h_lZkq<-oWP6J`w0khi4hU&G%!^&CPvo_Hq|zE~ijXyviK z#Y>MaurW#)O1-S1ANOFvr7^NZO%9;4Jy5}tO z*q5JE^mmxBI|2=+<$q&J3xAZBfQNvd@WiZhLN7KSZ0UzpmpbWB${^};?Ydd3vS|0d zlX5oOLh^3j(NRu(vEp$`=UV| zo|X`UHvP5~EmZyr71a1!)DZ3o8?c1|B)T6GJw}B-uauK^mXvP`hce!C)CR^bF8GBh z#i(`#mADoXt=H)k^e82!>gRZlS=0t}q3~;5Y0(XSQ>{TCM3y0kZZ9tXApCp0=XMQX zlK)PaYPBvDIiNF@nqo*9bL<&vNU3Thtt3!KDAC3PQsk%Ap9y8oC;PboumR8T!ODdd z8)Fr3BSm>jXI_lPQrNsx7oZRRbvJL;gIne=I})rw8EEpq^Q?ciu687fR!TQ4m04h# zYN_=d=>H4Js(`_-S!vPkZ7_(IL8mFx{4tgNoJW%ilQQwPFt8eC_}^eC@ie~D19%tk zTQW3?f7xmvsLk?Y>ho8ZR1An;WhcJ2F&j4PNvcn_S!bJUNi|>y{loua zf1Bw@4qTq48B99&hrJh@6t(1u1%8{`C^r~ zn{LZH4zEmykWIh5iL{##k3f%%GVextU-V#Jca)U98_F+b_f7XN`;7Nxt-sJGCm&qp z1Um7h$n;(&n@y(rRAErrrHQD$i0@uewXnSXgkA@*>ktx?{%!WTjg8F!25?FQCTifu z>(USvIYXzd(ml3@g@DdixEkF%09R5)I)sGX7T`n+)+r-iemz~(Vz%U?Ggo1X^RZsT zt^9DTmb5K~lABd`u_ac>tW!vQ_u1J!j@Gy2o5IYeL6lZaw9F@ptH;TGF;n+s07M&I zv7mJ59uo;fA?B2w-L}zzTr5#dwERk{OSC%@?VC;mFszo`jyQfhRvs%oCK6VLc=suf z-QV-`#!nioJVfYL2x+Wgn!HwbVhqL2T_qK+c*<6r`raud!YhjQOh3^~17&=hNg#m` zn|Pb|r>jaTmPgCq(X^!di9`)u`S4v|JJoV>fl%^3bi_a>GCUdblHkl$qS77v?iwew zzvNdfmAD~?;KDb8;K_G{*L(Y}`OgPtDmw;p7ncfm(cNs?U8R%qjY%tuy19u!m(&e6 z{?a84xzPwgfk)k_H?mImL`jL+k&U_W?j8a{o$Us|k#)L=Kx9+yyr(?^u5@g~TT2I(O*PQ~~s>c-$1Sbsrb-EEl8b7NlDSN_d(CNEl9_plxi@Xh+Kditj zox!{y_t-Nw=m+YNcnZ%BvYqC@m?g6=6RIWtf;(nX_;`)v?5*$A~Ok(eVyFm6N6A3!JS8L=H9z22McJ+kAc&$Cd@xvSF% z!~%r{%RVK&qrAfG2ZDEi5J9uk3+5SqZbJ{Qj8)!lx?>1Tda~&3#uMTn&{jRaFg2jG zdSRsyYv9Q0%q;KfZF5$funU;oe2#TwjmOQ&0Dc3MzADV(97cTph8uAzBhyT3nT1^h z9OFP_g9Ofw5VY#2hn9_X>KY|kaU{fbRumi&`VtZ9w9D-p0+`V{T#3g3xRBo!8bRVk zYn3p{rWX%frI$TNBHfX9M-UjhIh(V%XA6> zR$1ZWsGr1WOvgU=;4vIQCs?p))FVdq(!iveqQ09aWB=*JR55C>k=!W+;?<8CtzmUh zF8xG4%6&7xSs)S!_R{EfI8@HECOzBJsml=rka0PF>CEeuGH)^kQ&vj#rsIO(axJ%) zGBbL<lgwPmKOBK`O$!CQ#vfr zm=r7=F)FGSto*%G1DHr8I)ni7t$Wr2Dw_eo8R!6JQkEMTvZ8X{%00RfLW}F@X{SUs z==8fS1hDs&*!!_<8kce-g#!xPCcX6qCBFj1{uJ$7N7M9nyU4P(5Qr>f=bhNlt2B5+ zyu5lGeRA7}6B!-nn>c}(+V>N*6W?UX? z8G@BBDgxHWWbU`DT9kQk-@(yRn4|HBSS+Guz@bb;E40rWrTl{MP%VwtKp@sjcxnd? zpZboqkR+M*th}80s)|1`4rlsNY7w8A3>u+veokAcSuyLgY zH)9I#!VF&BnqKcUj2SzN%Ql7QbNbma1R?>$@p}U|VikK@?#2M*!XmwoXr=UKK3+BN zx&4v(JNoWeR3Z`pfX%2bE_==}B->hKm3BGEbG`7jjET(KnRmxI5Zp;52r;V5(TRgl zesOh4Sy^X*j91pN@cP)&f;pxs9zkUE*6-gCg}Y!{$)F)lMIT}z;W!6$Lpsp=cKsD+GDc~btOC;qKoNa!}8t|>8qzt(uFWm?)I;LXl>m1WGXcVw;- z2r(kKUF33uCF!in1F{>M~FfGb^qFnx}IF_w3v2G zpaVFnNufl`1@4ff>ua^usdYVA?OPoC(2x2kU&C%fHVKJOwB!|Hw0brvEv~d-f-!WP68FbE*Y55<*>Y8a`GGfw3wky6n?qhez=~+pTFsQUe@o| z+_|hVem$x4HRUxyAJ5v{WZuM)H7sY7lQ2J)GqGKGGww{QjYl!~o>ENE=dSww<{iKq zkZ$6|CPd#(N6Rt|x!%L>Li&T@fd!P(c-4^RD={n{HGwXIF8VEprxwW{xMPggFYX3s6sS;AacOI)P-c(NUgYDb)$34CaVbZ|PT4 z{Jfh|d6^p}NuN(*yk&UICetr2g#i;-{xb%mkJjS|OcmxyR>Ocb94flDTmGO*CpOhP z&H*Y+DNTrlV5@t24bnaZVo#+Hum)-kXvs#x;_HMrYn_u*L$P3SBRyr9Fs`)d5|*`1 zMTn>&hNxaBR=`C&$rK{^q2`13_Uf6uf z_d^u(9PCUs1kT3dXj{%*W&>n)(9ZK7TJ(|xsq{pu5+@i>G+?J1sOvE6Rc>!RP9uqm z+{u~}Ot6dEgeQK|-QV!#P>!^zrVKG8CVB-6;iMWyKhU#nJ%Kay_L1k$7~Op=Ro|D9 zk+pBjoM%76gy~)-Wv-NC0;Wjjl@=Yv%Q-KSN|>dupx#E(Cqvx#rk4yF@AjN;Bn)o6 zryLVvA({7!qQ0yt9xP1%U>NZXW~vc$^=C}jU^Jm$z#|GP48y)4?E_5P0ZiNhT+;(g z+8>Zc#(|t+Q|daiBq*#IM;_CL3E|i>v2z&0e!|REXx(98^WpZ7hD(1-E?UBZ8j(w$ zT>6kcr^~W2D|r6>wtjuH7Np9kI^~&g)3SMgbrkHq`2V1MCW zgQ>3(rl&@FJvEi{mj^=Lrx}pCPiK?~Uc_Lz&a~;fyjt(@hV=40*DbY!SWu!pP?EWZY6S+w|z? zRu@&@gJFrDfxABFPYS)_o>L4JE-Wss{?0S~MdBy`89mY%R#{w@5~r4&aVFRm;NV!o zKZ2FgBZ(aqV~))&PMYU?rUd-1XLVbHZrrKk6H})o4Kx`KdH}WNx8W&m(bfR19 zh8U)ABxl8sV3qbrBzOc(4W~2hVKu4kJ*EopM(k~F^06&X?#0X5ftPcLZx>^Z`dWF@ z`RbMlBv!?Z8V0 z?s58fU#q=%_q1VxK1TAhPfvZrr;O2PS_xX#mwurUGj^7RAm)nrka&l0wV1J5Hd57| zcR|LxsWKk0;EcSVkv_o!B5-Q(QQt@*{A_|zY=#MJglRLtBJC7Xy!%LfQwY5pbiO;zghgtRvG(DELwzO$^eW2-GiBUpi78D$IJ{{7Dsk| z>^7A#Z|BmdWF^y%)?UUjuQT7F_hTfy9AiSlmK@BWciaQ`RANVQHCZ2md;HX~0e<1j zfsg|rP7Z>S!vHS_a0bvh_iyjL>3MBVrI7pqK_%)q;_49P4l!`#=p|WaWElsYK6)l) znV=W^9yzeSe{*v)L^Jt8G>C{<%YjPY0`Q(z{HP6oISqz%J&p(x(P$;0Fb;9hZQbU1 z&qCn;C-Vt`aD-~iF@63VQyM`@lv)CV(g@+A?LKN|6#Nn14Fn8GV4X4;m_a~JaXQq0 z*r1QJ3#s=J!<1=Vag=i#2D|iT=Wd9P`-m4^@j*?O+f^_t;7|_BGNnbia8mA zw4aSc|EWV2I8sP`A-WlNI1vs>iV2Ru?m#60O;BRG{_|3SW9UCIS%K%f0Q;`T4t-5& zUVtX)kVap$N-rP|Jo7y?SZfOg{XlT=R!@FL;T*-G7>#pc5$3PnP{vWFN9*~Eg!P-} zuK3Jpb9P3VkXKqb6J#0LioR$T#8MEA=ipgXZRynd1_AVhy>?HDG0B&>*J}dN@j^6D zJss~+mO|DK9GY|VOpJb`0-Yc+8IzKrs^mX=dwN&xG zr2lGm;@=IkLL+o+yW#+=0ZtrX6%C%wrllPdbcFPa=BDi+K7>EE`Yr^%EKDm7p%HH~ zM%X00o;R!KuF!K4DSxFT6M}#F$9ErwW)ilBjyt#)$RIq``ntTFenL3{}UCOyoqhQiVv}7d7qX>Hs!I!Y?L$Hqf29loV46TF^`Uuy#U{o=>zKqf z*KJzU_s~mvFHUF7-q95afv9 zhcUQ10r?X6X&MS=;rcwB?}l%BfJfL~L-rtCAv~i{AcaC1{H%b|MYzxhIV14n801X= zUj=0=aPtjZ9)zpoaBT*P=HR*)P}TsUD8Yp_O%S**pO!7kI;$R)D!0o`qp zzO-L2)nOn|Pw6nXU-f6ZO(db^^FOV5gO;85F}VSAE?p=eGL-ZiF7@hECOcFcruF#g z=O*WRG^Wc2Lfe=Y_in}>N!B7--y}cNwn)uoBj&@+tA`$$HXM!@DzsQ+k?8TvS7!OD z9qREt4VoD}e!Nu=HEZyTh2CbJHrREx_3)=wXjq5arUT7u-AYtuwD+yx{_R%p2euA5 zYQ{I#HyooH{L?2^xU&I56zc7yJNSEzxN`&U(uhH$17o1Oh~IBXI(3qDf-)IoA_g)q zEFy%gBJU(I+z(Ec9w%1jFjjD!=NO00<|d^iCUchL$_3T@q9T<-;Zk>`cu?IHDr%*? zQjo-^mZf;yxKXa4E-5Mn2~k`&$0K?{5U+}lj*qRJ6p54MqKT35u>i!6#yH|n|Gkw< z>1hA0t+OL5gXiRw>XASS49If(>~Q)AXFqY|_6X$^l2O!ZDD1npTs8H?md|S1L+Vrt z#E(rS0}nMdGtaLyIg#$as9z`>ZC@?^`+?f4X_`qI#0p;CRaHzd_;r!m-P>zxzmNq5 zb>*zTzc=#Mu}02;-p4Dueds9#;k910uP=ta5(jRNT^gvSyR%?F50(>!h>FPX{tE}0OZAvBsV65vat#UTu)Kb`4+^dN#T5hPo=%jthWS~~Y! z%J-W9;unVmG7%b+#&`>)yBy^cz`o4{-nq2oOkQGI#wPP$h#!-7GT6vtn%DA7Sr;=w~fhv;C3=oCSxP6ZJi>SCurB8t#L`b$#zCq*%p%BWp+ zquLZLg38tAx6-Pv_#cXoEh{q|NmXKZ+>s)_j&L8-Y`Tv z_{z>Eo_ABBg(!!J_OY>xJxM<=MEq>)fSvF^Ez$aSd}F`Wm&$KDziK7u&4l$9UfHzP z3~2V9=6#A~`dciB+jp6M^z64H3Q1mvxp9qCeOdl!9*$RAF^SgqX6@c(-8Y=;d2&a@o64@ zzd8afyoAtDJ+zP)@`M#}aSRc+opTs7dogmGFjkohMf6~2!q!NLpKN`Wx4PT+MxIa)-wxf+yS9+4`yn!SXU!dzXy6$ge-i3 z_%a`%$Ak#?s`nb9zl1QroB`&zZV^WB5XSEkrtTA_%Lua-$vV$f5teHSzDLQvhq%5y zR|r3fnR9iMGrYktYU92~W{qdc33J@5h3X_@rH-)59Op&Cw@aIxzO;N?H(3|gXM%G{ pafCFE@$GynBy?RMbQ_$@8=Rs|T}FLOO=%oMS1O;a|AT+s{{d5n*Qo#i literal 0 HcmV?d00001 diff --git a/recipes/icons/novaya_gazeta_europe.png b/recipes/icons/novaya_gazeta_europe.png new file mode 100644 index 0000000000000000000000000000000000000000..9a9ce000cc0be472f7be3e0ad6698261c6376574 GIT binary patch literal 2714 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 literal 0 HcmV?d00001 diff --git a/recipes/icons/unian_net.png b/recipes/icons/unian_net.png new file mode 100644 index 0000000000000000000000000000000000000000..8421cf4959d75f65665452caa47d5c472072696a GIT binary patch literal 448 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>_{@`^l3huV24exNz|u@5oZ1 z39KbSe!*UkJs)}0KXc;&3NR*lySs3--J4nk004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x2MkF>K~z}7rPphWT~!qa@Za9|+&hi`qfz@oQPH5Hf&@blMbT;$P_SwOv5#12hcaSc z(3$D&eVn_uAI_QSwAMm&CFkywbN5+~|N5`B_6d7;O#mU0Be_L;J4^0nWUC;lWieif z^XqjDR%8+OVh8?)KiBKQ*%$TJF?A{3b(MYyeL|_2GY+vs<5`*$)x8w35|`r|oQEX{ zj+V99fcN2f`~`R6K1_<8tht*s%3x)+isVArJF&A;kt40$EO>YR7JK)n8l z@#OzQV158)ebf4uJbH_ASw|XGXm3@qy}SY+oNt^c=h2Fwvxah~LjQkHFl{+L`Y5JE%HGAs!>ig8GhtH@@1NJ!eP zY%rWsj7%%SP-!sV0a!q~2@m3#qR#I-@ha#K`&x~bK}xo5dD54^__*nVG-7q-0U3iK zMN`!g=5>Xaoy?hMEw|yKbFDe!rP>SnvcvNoplW1S<0}Q0;#$Y6^W3&?lD}*wC(b^L zi5=|S$J#SlesaBUo&(#T;LacH^YZacKJlqHxcu7FX&gRQbAhXHd)SxXdNJ-+wOS3a zPC-`oR{G~tr+Ux3KjY90w}1C5Hh$@c?*GLfefo13yXL)bta?c3*J&v1nVfddUBC6! zFKu!9TJF663M*E1tEA>EhBPFO%w^8sR7&1e{agj1$*ztTfdT#!$$KLAPb< zz$oFAs_axLn0}7iZvC;zfAWsYg7KHHkn%xAARN_I609!f!~bF>C%*m7hyDD4hxK~% z;>kSsuWG&V#tq){fj1dj{H#GfC`qCyQ>P)q*o$amNkq&IltVAo*3sdVR#M zVV;&9lszY#mQCvpo|VIt@$ppxCZA^N`Jtg8A60BI%W+GA$1r_dGKM7QQfv?#*u{yn7~TMrQj68ZEAV_eGlRQaS7?8uO;A^n{Q$ z7qx45;ewhON28vzqDiww)-}wBG$P;FxXt&zv+Wqfn3`gkIc+T;yWv!CdHY(zUdgnq z5H)0ZNO>>mKvC!a9@2F<_voor8eLSn@~Sb1J3R}>roH)+HI^*xYZeRi2Dyr;9>pX} zmYn45SDxbB*DUplGsfh&-ynCyMnh882!t&``6J|TAiWJK2>lOZque@a)`_GbwapF6 zTpgt;$WacnUE&C5Vy+J)u~W~8zF{skLLudbsCigOx6r+nG8ek*Xv}2Ao;$_P>s2S= zN^2--O#Sx?tv8GhAT7^wOW619FYE7thiL6yEyr&O>5@wS3m-=F zF%HBNZcUqTopOAaLmTLii@Co}?yZx1>*c}fiL8Bd=GR$DFRnS9NMfD7B4HElo0Q|b zbl1~8i|#pM5~bmCsdItUIbTX+Ta)r5iSH-6FUE;D@A}WUi>_SUf$I!b{N41$Ouv=> zIJu=r0l7^%PCwDx&q$omIPh^gk3??7ddDfz7my*g32CD=`hDf{X}xt-W4j*%Js9rxl6>@*n94sD>fzKVP}HiuV{ z<`0{^kp41apS*eYDDo6OkK6D%yai|CG>p`5_OKJ%RLAYdu(ul8)s!?Cr@#8h=XssH ze*>Ss`@8_ub*2CS03~!qSaf7zbY(hYa%Ew3WdJfTGBPbNH!U(UR4_I=H8DCeFe@-H zIxsLtJB~pB001R)MObuXVRU6WZEs|0W_bWIFfuYNFf}bQHB>S&Ix;mnF*hqPFgh?W zNX~{B0000ebVXQnWMOn=I&^7mWpi|4ZEyfGFfuYNFgGnSGE^`&IyEsmG%_nNFgh?W TFoO?_00000NkvXXu0mjfPay7B literal 0 HcmV?d00001 diff --git a/recipes/novaya_gazeta_europe.recipe b/recipes/novaya_gazeta_europe.recipe new file mode 100644 index 0000000000..9e7b4df57c --- /dev/null +++ b/recipes/novaya_gazeta_europe.recipe @@ -0,0 +1,38 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class NovayaGazetaEurope(BasicNewsRecipe): + title = u'\u041D\u043E\u0432\u0430\u044F \u0413\u0430\u0437\u0435\u0442\u0430. \u0415\u0432\u0440\u043E\u043F\u0430' + __author__ = 'bugmen00t' + description = u'\u0413\u043E\u0432\u043E\u0440\u0438\u043C \u043A\u0430\u043A \u0435\u0441\u0442\u044C. \u041F\u0438\u0448\u0435\u043C \u043E \u043F\u0440\u043E\u0438\u0441\u0445\u043E\u0434\u044F\u0449\u0435\u043C \u0432 \u0420\u043E\u0441\u0441\u0438\u0438, \u0423\u043A\u0440\u0430\u0438\u043D\u0435 \u0438 \u0415\u0432\u0440\u043E\u043F\u0435. \u041D\u043E\u0432\u043E\u0441\u0442\u0438, \u0430\u043D\u0430\u043B\u0438\u0442\u0438\u043A\u0430, \u043C\u043D\u0435\u043D\u0438\u044F \u044D\u043A\u0441\u043F\u0435\u0440\u0442\u043E\u0432, \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0440\u0435\u043F\u043E\u0440\u0442\u0430\u0436\u0438 \u0438 \u0436\u0443\u0440\u043D\u0430\u043B\u0438\u0441\u0442\u0441\u043A\u0438\u0435 \u0440\u0430\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u044F.' # noqa + publisher = '\u041A\u0438\u0440\u0438\u043B\u043B \u041C\u0430\u0440\u0442\u044B\u043D\u043E\u0432' + publication_type = 'newspaper' + category = 'news' + language = 'ru' + cover_url = 'https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5dc71e2d-9763-4f05-8f4e-92049fa32af7_513x513.png' + oldest_article = 15 + max_articles_per_feed = 50 + auto_cleanup = False + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict( + name='div', attrs={'class': 'ArticleBlocks_wrapperNoAside__11_bu'} + ) + + remove_tags = [dict(name='div', attrs={'class': 'EmbedNative_root__2lgsH'})] + + feeds = [( + u'\u041D\u043E\u0432\u043E\u0441\u0442\u0438', + 'https://novayagazeta.eu/feed/rss/ru' + )] + + def preprocess_html(self, soup): + for alink in soup.findAll('a'): + if alink.string is not None: + tstr = alink.string + alink.replaceWith(tstr) + return soup diff --git a/recipes/old_games.recipe b/recipes/old_games.recipe new file mode 100644 index 0000000000..063eb2a086 --- /dev/null +++ b/recipes/old_games.recipe @@ -0,0 +1,42 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class OGRU(BasicNewsRecipe): + title = u'Old-Games.RU' + __author__ = 'bugmen00t' + description = u'Old-Games.RU \u2014 \u043A\u0440\u0443\u043F\u043D\u0435\u0439\u0448\u0438\u0439 \u0440\u043E\u0441\u0441\u0438\u0439\u0441\u043A\u0438\u0439 \u0430\u0440\u0445\u0438\u0432 \u0441\u0442\u0430\u0440\u044B\u0445 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u043D\u044B\u0445 \u0438\u0433\u0440. \u041C\u044B \u043D\u0435 \u0441\u0442\u0430\u0432\u0438\u043C \u043F\u0435\u0440\u0435\u0434 \u0441\u043E\u0431\u043E\u0439 \u0446\u0435\u043B\u0438 \u0441\u043E\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435 \u0438\u0433\u0440\u044B, \u0447\u0442\u043E \u0435\u0441\u0442\u044C \u0432 \u043C\u0438\u0440\u0435, \u043D\u043E \u043C\u044B \u0441\u0442\u0430\u0440\u0430\u0435\u043C\u0441\u044F, \u0447\u0442\u043E\u0431\u044B \u043D\u0430 \u0441\u0430\u0439\u0442\u0435 \u0431\u044B\u043B\u043E \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043E \u0431\u043E\u043B\u044C\u0448\u0438\u043D\u0441\u0442\u0432\u043E \u0448\u0435\u0434\u0435\u0432\u0440\u043E\u0432, \u0440\u0435\u0434\u043A\u043E\u0441\u0442\u0435\u0439 \u0438 \u043F\u0440\u043E\u0441\u0442\u043E \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u043D\u044B\u0445 \u043F\u0440\u043E\u0435\u043A\u0442\u043E\u0432 \u043F\u0440\u043E\u0448\u043B\u044B\u0445 \u043B\u0435\u0442. \u0421 \u0442\u0435\u0447\u0435\u043D\u0438\u0435\u043C \u0432\u0440\u0435\u043C\u0435\u043D\u0438 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438 \u0437\u0432\u0443\u043A\u043E\u0432\u043E\u0435 \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435 \u0438\u0433\u0440 \u043D\u0430\u0448\u0435\u0433\u043E \u0430\u0440\u0445\u0438\u0432\u0430 \u0437\u0430\u043C\u0435\u0442\u043D\u043E \u0443\u0441\u0442\u0430\u0440\u0435\u043B\u043E, \u043D\u043E \u0438\u0433\u0440\u043E\u0432\u043E\u0439 \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u043E\u0441\u0442\u0430\u043B\u0441\u044F \u043F\u0440\u0435\u0436\u043D\u0438\u043C, \u0438 \u043F\u043E\u0440\u043E\u0439 \u043E\u043D \u0433\u043E\u0440\u0430\u0437\u0434\u043E \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u043D\u0435\u0435, \u0447\u0435\u043C \u0432\u043E \u043C\u043D\u043E\u0433\u0438\u0445 \u0441\u043E\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u00AB\u0445\u0438\u0442\u0430\u0445\u00BB.' # noqa + publisher = 'Old-Games.RU' + publication_type = 'blog' + category = 'news, games, retro' + language = 'ru' + cover_url = 'https://www.old-games.ru/forum/styles/default/old-games/logo.og.png' + oldest_article = 50 + max_articles_per_feed = 50 + no_stylesheets = True + auto_cleanup = False + + remove_tags_before = dict(name='article') + + remove_tags_after = dict(name='article') + + remove_attributes = ['style'] + + remove_tags = [ + dict(name='p', attrs={'id': 'pageDescription'}), + dict(name='div', attrs={'class': 'pageNavLinkGroup'}), + dict(name='div', attrs={'class': 'tagBlock TagContainer'}), + dict(name='div', attrs={'class': 'NoAutoHeader PollContainer'}), + dict(name='div', attrs={'class': 'likesSummary secondaryContent'}), + dict(name='div', attrs={'class': 'editDate'}), + dict(name='div', attrs={'class': 'attachedFiles'}), + dict(name='div', attrs={'class': 'item muted postNumber hashPermalink OverlayTrigger'}), + dict(name='div', attrs={'class': 'messageUserInfo'}) + ] + + feeds = [ + (u'\u041D\u043E\u0432\u043E\u0441\u0442\u0438', 'https://feeds.feedburner.com/Old-games-ru-news'), + (u'\u0421\u0442\u0430\u0442\u044C\u0438', 'https://feeds.feedburner.com/Old-games-ru-articles') + ] diff --git a/recipes/unian_net.recipe b/recipes/unian_net.recipe new file mode 100644 index 0000000000..c9333de626 --- /dev/null +++ b/recipes/unian_net.recipe @@ -0,0 +1,29 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class Unian(BasicNewsRecipe): + title = '\u0423\u041D\u0418\u0410\u041D ' + description = 'Украинское Независимое Информационное Агентство Новостей – первое в Украине и самое большое независимое информационное агентство, основанное в 1993 году, лидер среди новостных медиа страны, самый цитируемый источник новостей о событиях в стране.' # noqa + __author__ = 'bugmen00t' + publication_type = 'newspaper' + oldest_article = 7 + max_articles_per_feed = 100 + language = 'ru' + cover_url = 'https://www.unian.net/images/unian-512x512.png' + auto_cleanup = False + no_stylesheets = True + + remove_tags_before = dict(name='h1') + remove_tags_after = dict(name='div', attrs={'class': 'article-text'}) + remove_tags = [ + dict(name='span', attrs={'class': 'article__info-item comments'}), + dict(name='span', attrs={'class': 'article__info-item views'}), + dict(name='div', attrs={'class': 'read-also-slider'}) + ] + + feeds = [ + (u'\u0423\u041D\u0418\u0410\u041D', u'https://rss.unian.net/site/news_rus.rss') + ] diff --git a/recipes/verstka.recipe b/recipes/verstka.recipe new file mode 100644 index 0000000000..f34b4e171a --- /dev/null +++ b/recipes/verstka.recipe @@ -0,0 +1,28 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + + +class Verstka(BasicNewsRecipe): + title = u'\u0412\u0451\u0440\u0441\u0442\u043A\u0430' + description = u'\u041E\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E-\u043F\u043E\u043B\u0438\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0438\u0437\u0434\u0430\u043D\u0438\u0435, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0438\u0441\u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0438 \u043E\u043F\u0438\u0441\u044B\u0432\u0430\u0435\u0442, \u043A\u0430\u043A \u0444\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0438\u0440\u0443\u0435\u0442 \u043E\u0431\u0449\u0435\u0441\u0442\u0432\u043E \u0432 \u0420\u043E\u0441\u0441\u0438\u0438.' # noqa + __author__ = 'bugmen00t' + publication_type = 'newspaper' + oldest_article = 21 + max_articles_per_feed = 20 + language = 'ru' + cover_url = 'https://secureservercdn.net/160.153.137.128/yji.7dd.myftpupload.com/wp-content/uploads/2022/04/Screenshot-2022-04-26-at-22.19.30-300x68.png' + auto_cleanup = False + no_stylesheets = False + + remove_tags_before = dict(name='h1') + + remove_tags_after = dict(name='div', attrs={'class': 'wp-block-spacer'}) + + feeds = [ + (u'\u041D\u043E\u0432\u043E\u0441\u0442\u0438', 'https://verstka.media/category/news/feed/'), + (u'\u0421\u0442\u0430\u0442\u044C\u0438', 'https://verstka.media/category/article/feed/'), + (u'\u041A\u043E\u043B\u043E\u043D\u043A\u0438', 'https://verstka.media/category/column/feed/'), + (u'\u0418\u043D\u0442\u0435\u0440\u0432\u044C\u044E', 'https://verstka.media/category/interview/feed/') + ]