From fe7876189cf792cb80bc1de3989635dba5e1e42b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 25 May 2009 20:31:00 -0700 Subject: [PATCH 1/3] Updated recipe for The New Yorker --- .../web/feeds/recipes/recipe_new_yorker.py | 50 ++++++++++--------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/src/calibre/web/feeds/recipes/recipe_new_yorker.py b/src/calibre/web/feeds/recipes/recipe_new_yorker.py index 3ebc275d99..a3c01df8e9 100644 --- a/src/calibre/web/feeds/recipes/recipe_new_yorker.py +++ b/src/calibre/web/feeds/recipes/recipe_new_yorker.py @@ -1,53 +1,57 @@ #!/usr/bin/env python __license__ = 'GPL v3' -__copyright__ = '2008, Darko Miletic ' +__copyright__ = '2008-2009, Darko Miletic ' ''' newyorker.com ''' from calibre.web.feeds.news import BasicNewsRecipe +from calibre.ebooks.BeautifulSoup import BeautifulSoup, Tag class NewYorker(BasicNewsRecipe): - - title = u'The New Yorker' + title = 'The New Yorker' __author__ = 'Darko Miletic' - description = 'The best of US journalism' + description = 'The best of US journalism' oldest_article = 7 language = _('English') max_articles_per_feed = 100 - no_stylesheets = False + no_stylesheets = True use_embedded_content = False - extra_css = ''' - .calibre_feed_list {font-size:xx-small} - .calibre_article_list {font-size:xx-small} - .calibre_feed_title {font-size:normal} - .calibre_recipe_title {font-size:normal} - .calibre_feed_description {font-size:xx-small} - ''' + publisher = 'Conde Nast Publications' + category = 'news, politics, USA' + encoding = 'cp1252' + + html2lrf_options = [ + '--comment', description + , '--category', category + , '--publisher', publisher + ] + + html2epub_options = 'publisher="' + publisher + '"\ncomments="' + description + '"\ntags="' + category + '"' - - keep_only_tags = [ - dict(name='div' , attrs={'id':'printbody' }) - ] + keep_only_tags = [dict(name='div', attrs={'id':'printbody'})] + remove_tags_after = dict(name='div',attrs={'id':'articlebody'}) remove_tags = [ - dict(name='div' , attrs={'class':'utils' }) - ,dict(name='div' , attrs={'id':'bottomFeatures' }) - ,dict(name='div' , attrs={'id':'articleBottom' }) + dict(name='div', attrs={'class':['utils','articleRailLinks','icons'] }) + ,dict(name='link') ] - feeds = [ - (u'The New Yorker', u'http://feeds.newyorker.com/services/rss/feeds/everything.xml') - ] + feeds = [(u'The New Yorker', u'http://feeds.newyorker.com/services/rss/feeds/everything.xml')] def print_version(self, url): return url + '?printable=true' + def get_article_url(self, article): + return article.get('guid', None) + def postprocess_html(self, soup, x): body = soup.find('body') if body: html = soup.find('html') if html: body.extract() - html.insert(-1, body) + html.insert(2, body) + mcharset = Tag(soup,'meta',[("http-equiv","Content-Type"),("content","text/html; charset=utf-8")]) + soup.head.insert(1,mcharset) return soup From e35acbf1047b236e58a8a71a861269bb30611a80 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 26 May 2009 08:59:38 -0700 Subject: [PATCH 2/3] Fix title of Sueddeutsche recipe and fix generation of MAN pages in unicode environments --- src/calibre/utils/help2man.py | 17 ++++++++++------- .../web/feeds/recipes/recipe_sueddeutsche.py | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/calibre/utils/help2man.py b/src/calibre/utils/help2man.py index 9777ea24cd..173d760864 100644 --- a/src/calibre/utils/help2man.py +++ b/src/calibre/utils/help2man.py @@ -16,7 +16,7 @@ def create_man_page(prog, parser): else: usage[i] = line.replace('%prog', prog) lines = [ - '.TH ' + prog.upper() + ' "1" ' + time.strftime('"%B %Y"') + + '.TH ' + prog.upper() + ' "1" ' + time.strftime('"%B %Y"') + ' "%s (%s %s)" "%s"'%(prog, __appname__, __version__, __appname__), '.SH NAME', prog + r' \- part of '+__appname__, @@ -25,7 +25,7 @@ def create_man_page(prog, parser): '.SH DESCRIPTION', ] lines += usage[1:] - + lines += [ '.SH OPTIONS' ] @@ -39,7 +39,7 @@ def create_man_page(prog, parser): help = opt.help if opt.help else '' ans.append(help.replace('%prog', prog).replace('%default', str(opt.default))) return ans - + for opt in parser.option_list: lines.extend(format_option(opt)) for group in parser.option_groups: @@ -48,12 +48,15 @@ def create_man_page(prog, parser): lines.extend(['.PP', group.description]) for opt in group.option_list: lines.extend(format_option(opt)) - - lines += ['.SH SEE ALSO', + + lines += ['.SH SEE ALSO', 'The User Manual is available at ' 'http://calibre.kovidgoyal.net/user_manual', '.PP', '.B Created by '+__author__] - - return bz2.compress('\n'.join(lines)) + + lines = [x if isinstance(x, unicode) else unicode(x, 'utf-8', 'replace') for + x in lines] + + return bz2.compress((u'\n'.join(lines)).encode('utf-8')) diff --git a/src/calibre/web/feeds/recipes/recipe_sueddeutsche.py b/src/calibre/web/feeds/recipes/recipe_sueddeutsche.py index ab84f0b1a5..ae2cb86cfa 100644 --- a/src/calibre/web/feeds/recipes/recipe_sueddeutsche.py +++ b/src/calibre/web/feeds/recipes/recipe_sueddeutsche.py @@ -9,7 +9,7 @@ from calibre.web.feeds.news import BasicNewsRecipe class Sueddeutsche(BasicNewsRecipe): - title = u'S\xc3\xbcddeutsche' + title = u'S\xfcddeutsche' description = 'News from Germany' __author__ = 'Oliver Niesner' use_embedded_content = False From 857d114ab939ceb97dc9093bcf823485a181d594 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 27 May 2009 10:31:27 -0700 Subject: [PATCH 3/3] New recipe for Electrolese by Oliver Niesner. Also updated recipes for Heise, Sueddeutsche and ZDnet --- COPYRIGHT | 2 +- src/calibre/gui2/images/news/elektrolese.png | Bin 0 -> 3535 bytes src/calibre/trac/plugins/download.py | 1 + .../plugins/htdocs/images/gentoo_logo.png | Bin 28862 -> 29484 bytes src/calibre/web/feeds/recipes/__init__.py | 2 +- .../web/feeds/recipes/recipe_elektrolese.py | 35 ++++++++++++++++++ src/calibre/web/feeds/recipes/recipe_heise.py | 33 +++++++++-------- .../web/feeds/recipes/recipe_sueddeutsche.py | 4 +- src/calibre/web/feeds/recipes/recipe_zdnet.py | 25 ++++++------- 9 files changed, 70 insertions(+), 32 deletions(-) create mode 100644 src/calibre/gui2/images/news/elektrolese.png create mode 100644 src/calibre/web/feeds/recipes/recipe_elektrolese.py diff --git a/COPYRIGHT b/COPYRIGHT index 16f64b7d09..1d8f7a5793 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -352,7 +352,7 @@ License: other Liberation Fonts ----------------- calibre includes a copy of the liberation fonts, available from -https://fedorahosted.org/liberation-fonts +https://calibre.kovidgoyal.net/downloads/liberation-fonts BSD License (for all the BSD licensed code indicated above) ----------------------------------------------------------- diff --git a/src/calibre/gui2/images/news/elektrolese.png b/src/calibre/gui2/images/news/elektrolese.png new file mode 100644 index 0000000000000000000000000000000000000000..a614cf6934d3c979aa022b818bce42f04beb74f1 GIT binary patch literal 3535 zcmV;=4KVVFP) zg*-agACFH+#L2yY0u@N$1RxOR%fe>`#Q*^C19^CUbg)1C0k3ZW0swH;E+i7i;s1lW zP$pLZAdvvzA`<5d0gzGv$SzdK6adH=0I*ZDWC{S3003-xd_p1ssto|_^hrJi0NAOM z+!p}Yq8zCR0F40vnJ7mj0zkU}U{!%qECRs70HCZuA}$2Lt^t5qwlYTofV~9(c8*w( z4?ti5fSE!p%m5%b0suoE6U_r4Oaq`W(!b!TUvP!ENC5!A%azTSOVTqGxRuZvck=My z;vwR~Y_URN7by^C3FIQ2mzyIKNaq7g&I|wm8u`(|{y0C7=jP<$=4R(?@ASo@{%i1W zB0eGU-~POe0t5gMPS5Y!U*+Z218~Oyuywy{sapWrRsd+<`CT*H37}dE(0cicc{uz) z9-g64$UGe!3JVMEC1RnyFyo6p|1;rl;ER6t{6HT5+j{T-ahgDxt-zy${c&M#cCJ#6 z=gR~_F>d$gBmT#QfBlXr(c(0*Tr3re@mPttP$EsodAU-NL?OwQ;u7h9GVvdl{RxwI z4FIf$Pry#L2er#=z<%xl0*ek<(slqqe)BDi8VivC5N9+pdG`PSlfU_oKq~;2Moa!tiTSO!5zH77Xo1hL_iEAz&sE_2IPPo3ZWR5 zK^auQI@koYumc*P5t`u;w81er4d>tzT!HIw7Y1M$p28Tsh6w~g$Osc*Av%Z=Vvg7% z&IlKojszlMNHmgwq#)^t6j36@$a16tsX}UzT}UJHEpik&ja)$bklV;0GK&0)yhkyV zfwEBp)B<%txu_o+ipHRG(R4HqU4WLNYtb6C9zB4zqNmYI=yh}eeTt4_fYC7yW{lZk zT#ScBV2M~7CdU?I?5=ix(HVZgM=}{CnA%mPqZa^68Xe5gFH?u96Et<2CC!@_L(8Ns zqt(!wX=iEoXfNq>x(VHb9z~bXm(pwK2kGbOgYq4YG!XMxcgBqf}$J#u<$v z7REAV@mNCEa#jQDENhreVq3EL>`ZnA`x|yIdrVV9bE;;nW|3x{=5fsd4#u(I@HyF> zO3oq94bFQl11&!-vDRv>X03j$H`;pIzS?5#a_tuF>)P*iaGgM%ES>c_Z94aL3A#4A zQM!e?+jYlFJ5+DSzi0S9#6BJCZ5(XZOGfiTj0IRdtf>~ zJ!SgN=>tB-J_4V5pNGDtz9Qc}z9W9tewls;{GR(e`pf-~_`l(K@)q$<1z-We0p$U` zff|9c18V~x1epY-2Q>wa1-k|>3_cY?3<(WcA99m#z!&lx`C~KOXDpi070L*m6G6C?@kiR8rC#65}Q za{}jVnlqf_npBo_W3J`gqPZ95>CVfZcRX1&S&)1jiOPpx423?lIEROmG(H@JAFg?XogQlb;dIZPf{y+kr|S?BlAsGMAqJ{ z&)IR=Ejg5&l$@hd4QZCNE7vf$D7Q~$D=U)?Nn}(WA6d zu22pZOfRS_cv~1-c(_QtNLti0-)8>m`6CO07JR*suu!$(^sg%jfZm#rNxnmV! zm1I@#YM0epR(~oNm0zrItf;Q|utvD%;#W>z)qM4NZQ9!2O1H}G>qzUQ>u#*~S--DJ zy=p<#(1!30tsC);y-IHSJr>wyfLop*ExTdYyk=%U1oZ ztGB+{Cfe4&-FJKQ4uc&PJKpb5^_C@dOYIJXG+^@gCvI%WcHjN%gI&kHifN$EH?V5MBa9S!3!a?Q1C*P)gd*e{( zq0YnH!_D8Bf4B7r>qvPk(mKC&tSzH$pgp0z@92!9ogH2sN4~fJe(y2kV|B+hk5`_c zohUu=`Q(C=R&z?UQbnZ;IU-!xL-sg{9@Vs#J zBKKn3CAUkhJ+3`ResKNaNUvLO>t*-L?N>ambo5Q@JJIjcfBI^`)pOVQ*DhV3dA;w( z>>IakCfyvkCA#(acJ}QTcM9%I++BK)c(44v+WqPW`VZ=VwEnSWz-{38V8CF{!&wjS z4he^z{*?dIhvCvk%tzHDMk9@nogW_?4H~`jWX_Y}r?RIL&&qyQ|9R_ktLNYS;`>X_ zSp3-V3;B!BzpiM~$VGycRl^2PPu`ydjSR3lQU&eXy z$K3M>q2ZO)*zEO9gNS=wc3%-Cj)HdWkG@5iZ+@;e39B234jt=u66<4q#X>?$Xeq8F z?zA(XWrPRgL*>mFqx*lzPTh`Z*no?1jp@%`N0@6?p^i|eu24sq zZu)a8Fjbs;i*HQ4d(4-i|gejCDTJ;%UTFP#epyjNWc$|ruG+Nk{- zblY91Bs>!uDjq?#i^@hJDi%g0R_o;{AFSzT7m_fqrn)!)jLClvVR>&%UD7)URJM1f zZ4<{Q0r@Q#_B)V3qlbKmW3lb$H4r-6_JIjwpGqfxa#{lI9r7CoqL?j4slmfW;_{_#yR6R;_Fb+dk+}@NwO@K7ZYpp z=zeH*dTyXp>BuoSqVUmXbcAtBr{YF?OJ)%p;vH8_JIP7hQsTp5NxnI~f_odW&1czu z^yoQpxK;0@JnqVrpI(@*toAsHiajmp(>G}i4mfajEAhp+V{H{iWFz{Tu_|8Mwh(P9 zwyh+t2}||M9PhUjQr&A^O|)hd%%S002ov JPDHLkV1j8u#LEBx literal 0 HcmV?d00001 diff --git a/src/calibre/trac/plugins/download.py b/src/calibre/trac/plugins/download.py index dd25279071..ecf44ebfb5 100644 --- a/src/calibre/trac/plugins/download.py +++ b/src/calibre/trac/plugins/download.py @@ -39,6 +39,7 @@ def get_linux_data(version='1.0.0'): ('debian', 'Debian Sid'), ('exherbo', 'Exherbo'), ('foresight', 'Foresight 2.1'), + ('gentoo', 'Gentoo'), ('ubuntu', 'Ubuntu Jaunty Jackalope'), ('linux_mint', 'Linux Mint Gloria'), ]: diff --git a/src/calibre/trac/plugins/htdocs/images/gentoo_logo.png b/src/calibre/trac/plugins/htdocs/images/gentoo_logo.png index b0892849a9977e3dae9cd8929c180bb820fd2a69..d5b4564e351494ec8085f332454d5e2937f33a72 100644 GIT binary patch literal 29484 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 P00000NkvXXu0mjfm#iz4 literal 28862 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

&*8(bJ}DtD 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 diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index bd1b5098d9..6793c2864d 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -43,7 +43,7 @@ recipe_modules = ['recipe_' + r for r in ( 'seattle_times', 'scott_hanselman', 'coding_horror', 'twitchfilms', 'stackoverflow', 'telepolis_artikel', 'zaobao', 'usnews', 'straitstimes', 'index_hu', 'pcworld_hu', 'hrt', 'rts', - 'h1', 'h2', 'h3', 'phd_comics', 'woz_die', + 'h1', 'h2', 'h3', 'phd_comics', 'woz_die', 'elektrolese', )] import re, imp, inspect, time, os diff --git a/src/calibre/web/feeds/recipes/recipe_elektrolese.py b/src/calibre/web/feeds/recipes/recipe_elektrolese.py new file mode 100644 index 0000000000..46101f3a39 --- /dev/null +++ b/src/calibre/web/feeds/recipes/recipe_elektrolese.py @@ -0,0 +1,35 @@ +__license__ = 'GPL v3' +__copyright__ = '2008, Kovid Goyal ' + +''' +Fetch elektrolese. +''' + +from calibre.web.feeds.news import BasicNewsRecipe + + +class elektrolese(BasicNewsRecipe): + + title = u'elektrolese' + description = 'News about electronic publishing' + __author__ = 'Oliver Niesner' + use_embedded_content = False + timefmt = ' [%a %d %b %Y]' + language = _('German') + oldest_article = 14 + max_articles_per_feed = 50 + no_stylesheets = True + #html2epub_options = 'linearize_tables = True\nbase_font_size2=14' + encoding = 'utf-8' + + + remove_tags_after = [dict(id='comments')] + filter_regexps = [r'ad\.doubleclick\.net'] + + remove_tags = [dict(name='div', attrs={'class':'bannerSuperBanner'}), + dict(id='comments')] + + + + feeds = [ (u'electrolese', u'http://elektrolese.blogspot.com/feeds/posts/default?alt=rss') ] + diff --git a/src/calibre/web/feeds/recipes/recipe_heise.py b/src/calibre/web/feeds/recipes/recipe_heise.py index 7dffa9b092..199bee4135 100644 --- a/src/calibre/web/feeds/recipes/recipe_heise.py +++ b/src/calibre/web/feeds/recipes/recipe_heise.py @@ -8,7 +8,7 @@ Fetch heise. from calibre.web.feeds.news import BasicNewsRecipe -class HeiseDe(BasicNewsRecipe): +class heiseDe(BasicNewsRecipe): title = 'heise' description = 'Computernews from Germany' @@ -20,23 +20,26 @@ class HeiseDe(BasicNewsRecipe): no_stylesheets = True remove_tags = [dict(id='navi_top'), - dict(id='navi_bottom'), - dict(id='logo'), - dict(id='login_suche'), - dict(id='navi_login'), - dict(id='navigation'), - dict(id='breadcrumb'), - dict(id=''), - dict(id='sitemap'), - dict(id='bannerzone'), - dict(name='span', attrs={'class':'rsaquo'}), - dict(name='div', attrs={'class':'news_logo'}), - dict(name='p', attrs={'class':'news_option'}), - dict(name='p', attrs={'class':'news_navi'}), - dict(name='p', attrs={'class':'news_foren'})] + dict(id='navi_bottom'), + dict(id='logo'), + dict(id='login_suche'), + dict(id='navi_login'), + dict(id='navigation'), + dict(id='breadcrumb'), + dict(id=''), + dict(id='sitemap'), + dict(id='bannerzone'), + dict(name='span', attrs={'class':'rsaquo'}), + dict(name='div', attrs={'class':'news_logo'}), + dict(name='div', attrs={'class':'bcadv ISI_IGNORE'}), + dict(name='p', attrs={'class':'news_option'}), + dict(name='p', attrs={'class':'news_navi'}), + dict(name='p', attrs={'class':'news_foren'})] remove_tags_after = [dict(name='p', attrs={'class':'news_foren'})] feeds = [ ('heise', 'http://www.heise.de/newsticker/heise.rdf') ] + + diff --git a/src/calibre/web/feeds/recipes/recipe_sueddeutsche.py b/src/calibre/web/feeds/recipes/recipe_sueddeutsche.py index ae2cb86cfa..07a8b10fa3 100644 --- a/src/calibre/web/feeds/recipes/recipe_sueddeutsche.py +++ b/src/calibre/web/feeds/recipes/recipe_sueddeutsche.py @@ -13,11 +13,11 @@ class Sueddeutsche(BasicNewsRecipe): description = 'News from Germany' __author__ = 'Oliver Niesner' use_embedded_content = False - language = _('German') timefmt = ' [%d %b %Y]' oldest_article = 7 max_articles_per_feed = 50 no_stylesheets = True + language = _('German') encoding = 'iso-8859-15' remove_javascript = True @@ -89,3 +89,5 @@ class Sueddeutsche(BasicNewsRecipe): def print_version(self, url): return url.replace('/text/', '/text/print.html') + + diff --git a/src/calibre/web/feeds/recipes/recipe_zdnet.py b/src/calibre/web/feeds/recipes/recipe_zdnet.py index 2297427b50..6bfc324379 100644 --- a/src/calibre/web/feeds/recipes/recipe_zdnet.py +++ b/src/calibre/web/feeds/recipes/recipe_zdnet.py @@ -6,11 +6,10 @@ Fetch zdnet. ''' from calibre.web.feeds.news import BasicNewsRecipe -import re class cdnet(BasicNewsRecipe): - + title = 'zdnet' description = 'zdnet security' __author__ = 'Oliver Niesner' @@ -19,16 +18,10 @@ class cdnet(BasicNewsRecipe): timefmt = ' [%d %b %Y]' max_articles_per_feed = 40 no_stylesheets = True - encoding = 'iso-8859-1' + encoding = 'latin1' + + - #preprocess_regexps = \ -# [(re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in -# [ -# (r'<84>', lambda match: ''), -# (r'<93>', lambda match: ''), -# ] -# ] - remove_tags = [dict(id='eyebrows'), dict(id='header'), dict(id='search'), @@ -36,12 +29,16 @@ class cdnet(BasicNewsRecipe): dict(id=''), dict(name='div', attrs={'class':'banner'}), dict(name='p', attrs={'class':'tags'}), + dict(name='a', attrs={'href':'http://www.twitter.com/ryanaraine'}), dict(name='div', attrs={'class':'special1'})] remove_tags_after = [dict(name='div', attrs={'class':'bloggerDesc clear'})] - - feeds = [ ('zdnet', 'http://feeds.feedburner.com/zdnet/security') ] - + + feeds = [ ('zdnet', 'http://feeds.feedburner.com/zdnet/security') ] + def preprocess_html(self, soup): + for item in soup.findAll(style=True): + del item['style'] + return soup