From cfdeffa2f7ba6119a873bc5e7d2fd0a0d82eed9f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 14 Dec 2012 17:31:34 +0530 Subject: [PATCH] Various Polish recipes by fenuks --- recipes/astroflesz.recipe | 19 +++++++ recipes/czas_gentlemanow.recipe | 20 +++++++ recipes/ekologia_pl.recipe | 24 +++++++++ recipes/film_org_pl.recipe | 19 +++++++ recipes/icons/astroflesz.png | Bin 0 -> 1126 bytes recipes/icons/czas_gentlemanow.png | Bin 0 -> 24034 bytes recipes/icons/ekologia_pl.png | Bin 0 -> 702 bytes recipes/icons/poradnia_pwn.png | Bin 0 -> 350 bytes recipes/icons/tvp_info.png | Bin 0 -> 329 bytes recipes/icons/zaufana_trzecia_strona.png | Bin 0 -> 412 bytes recipes/poradnia_pwn.recipe | 64 +++++++++++++++++++++++ recipes/tvp_info.recipe | 20 +++++++ recipes/zaufana_trzecia_strona.recipe | 16 ++++++ src/calibre/ebooks/pdf/render/engine.py | 5 +- 14 files changed, 185 insertions(+), 2 deletions(-) create mode 100644 recipes/astroflesz.recipe create mode 100644 recipes/czas_gentlemanow.recipe create mode 100644 recipes/ekologia_pl.recipe create mode 100644 recipes/film_org_pl.recipe create mode 100644 recipes/icons/astroflesz.png create mode 100644 recipes/icons/czas_gentlemanow.png create mode 100644 recipes/icons/ekologia_pl.png create mode 100644 recipes/icons/poradnia_pwn.png create mode 100644 recipes/icons/tvp_info.png create mode 100644 recipes/icons/zaufana_trzecia_strona.png create mode 100644 recipes/poradnia_pwn.recipe create mode 100644 recipes/tvp_info.recipe create mode 100644 recipes/zaufana_trzecia_strona.recipe diff --git a/recipes/astroflesz.recipe b/recipes/astroflesz.recipe new file mode 100644 index 0000000000..0b92fdfa29 --- /dev/null +++ b/recipes/astroflesz.recipe @@ -0,0 +1,19 @@ +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from calibre.web.feeds.news import BasicNewsRecipe + +class Astroflesz(BasicNewsRecipe): + title = u'Astroflesz' + oldest_article = 7 + __author__ = 'fenuks' + description = u'astroflesz.pl - to portal poświęcony astronomii. Informuje zarówno o aktualnych wydarzeniach i odkryciach naukowych, jak również zapowiada ciekawe zjawiska astronomiczne' + category = 'astronomy' + language = 'pl' + cover_url = 'http://www.astroflesz.pl/templates/astroflesz/images/logo/logo.png' + ignore_duplicate_articles = {'title', 'url'} + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + keep_only_tags = [dict(id="k2Container")] + remove_tags_after = dict(name='div', attrs={'class':'itemLinks'}) + remove_tags = [dict(name='div', attrs={'class':['itemLinks', 'itemToolbar', 'itemRatingBlock']})] + feeds = [(u'Wszystkie', u'http://astroflesz.pl/?format=feed')] diff --git a/recipes/czas_gentlemanow.recipe b/recipes/czas_gentlemanow.recipe new file mode 100644 index 0000000000..6df677f25f --- /dev/null +++ b/recipes/czas_gentlemanow.recipe @@ -0,0 +1,20 @@ +# 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 = 'http://czasgentlemanow.pl/wp-content/uploads/2012/10/logo-Czas-Gentlemanow1.jpg' + ignore_duplicate_articles = {'title', 'url'} + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + remove_empty_feeds = True + use_embedded_content = False + keep_only_tags = [dict(name='div', attrs={'class':'content'})] + remove_tags = [dict(attrs={'class':'meta_comments'})] + remove_tags_after = dict(name='div', attrs={'class':'fblikebutton_button'}) + feeds = [(u'M\u0119ski \u015awiat', u'http://czasgentlemanow.pl/category/meski-swiat/feed/'), (u'Styl', u'http://czasgentlemanow.pl/category/styl/feed/'), (u'Vademecum Gentlemana', u'http://czasgentlemanow.pl/category/vademecum/feed/'), (u'Dom i rodzina', u'http://czasgentlemanow.pl/category/dom-i-rodzina/feed/'), (u'Honor', u'http://czasgentlemanow.pl/category/honor/feed/'), (u'Gad\u017cety Gentlemana', u'http://czasgentlemanow.pl/category/gadzety-gentlemana/feed/')] diff --git a/recipes/ekologia_pl.recipe b/recipes/ekologia_pl.recipe new file mode 100644 index 0000000000..2b0933b58d --- /dev/null +++ b/recipes/ekologia_pl.recipe @@ -0,0 +1,24 @@ +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from calibre.web.feeds.news import BasicNewsRecipe +import re +class EkologiaPl(BasicNewsRecipe): + title = u'Ekologia.pl' + __author__ = 'fenuks' + description = u'Portal ekologiczny - eko, ekologia, ochrona przyrody, ochrona środowiska, przyroda, środowisko online. Ekologia i ochrona środowiska. Ekologia dla dzieci.' + category = 'ecology' + language = 'pl' + cover_url = 'http://www.ekologia.pl/assets/images/logo/ekologia_pl_223x69.png' + ignore_duplicate_articles = {'title', 'url'} + extra_css = '.title {font-size: 200%;}' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + remove_empty_feeds = True + use_embedded_content = False + remove_tags = [dict(attrs={'class':['ekoLogo', 'powrocArt', 'butonDrukuj']})] + + feeds = [(u'Wiadomo\u015bci', u'http://www.ekologia.pl/rss/20,53,0'), (u'\u015arodowisko', u'http://www.ekologia.pl/rss/20,56,0'), (u'Styl \u017cycia', u'http://www.ekologia.pl/rss/20,55,0')] + + def print_version(self, url): + id = re.search(r',(?P\d+)\.html', url).group('id') + return 'http://drukuj.ekologia.pl/artykul/' + id diff --git a/recipes/film_org_pl.recipe b/recipes/film_org_pl.recipe new file mode 100644 index 0000000000..442e273b1b --- /dev/null +++ b/recipes/film_org_pl.recipe @@ -0,0 +1,19 @@ +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from calibre.web.feeds.news import BasicNewsRecipe +import re +class FilmOrgPl(BasicNewsRecipe): + title = u'Film.org.pl' + __author__ = 'fenuks' + description = u"Recenzje, analizy, artykuły, rankingi - wszystko o filmie dla miłośników kina. Opisy efektów specjalnych, wersji reżyserskich, remake'ów, sequeli. No i forum filmowe. Jedne z największych w Polsce." + category = 'film' + language = 'pl' + cover_url = 'http://film.org.pl/wp-content/themes/KMF/images/logo_kmf10.png' + ignore_duplicate_articles = {'title', 'url'} + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + remove_empty_feeds = True + use_embedded_content = True + preprocess_regexps = [(re.compile(ur'

Przeczytaj także:

.*', re.IGNORECASE|re.DOTALL), lambda m: ''), (re.compile(ur'
Artykuł
', re.IGNORECASE), lambda m: ''), (re.compile(ur'
Ludzie filmu
', re.IGNORECASE), lambda m: '')] + remove_tags = [dict(name='img', attrs={'alt':['Ludzie filmu', u'Artykuł']})] + feeds = [(u'Recenzje', u'http://film.org.pl/r/recenzje/feed/'), (u'Artyku\u0142', u'http://film.org.pl/a/artykul/feed/'), (u'Analiza', u'http://film.org.pl/a/analiza/feed/'), (u'Ranking', u'http://film.org.pl/a/ranking/feed/'), (u'Blog', u'http://film.org.pl/kmf/blog/feed/'), (u'Ludzie', u'http://film.org.pl/a/ludzie/feed/'), (u'Seriale', u'http://film.org.pl/a/seriale/feed/'), (u'Oceanarium', u'http://film.org.pl/a/ocenarium/feed/'), (u'VHS', u'http://film.org.pl/a/vhs-a/feed/')] diff --git a/recipes/icons/astroflesz.png b/recipes/icons/astroflesz.png new file mode 100644 index 0000000000000000000000000000000000000000..37a9e2167534d7e7e9b4afbcd3528817774c367c GIT binary patch literal 1126 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 literal 0 HcmV?d00001 diff --git a/recipes/icons/ekologia_pl.png b/recipes/icons/ekologia_pl.png new file mode 100644 index 0000000000000000000000000000000000000000..797421420d9add626c0357e33675d5a916c6594e GIT binary patch literal 702 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%9|WRD45bDP46hOx7_4S6Fo+k-*%fF5lz156 z6XFV_!uR z=WjYZdt3a8GRA1tRmXs4F(!GtyLid*Yz1+qc)B=-NL)@%P~b8!vNTxCvBAQ^Vnb78 z&KreE&B7W7Sj8SZV+`KI*T+}mFe~06fI~+?M@j400R=t9mnugODCjC{tMiM51eBB& z1qG!g1TelTF9-|`E-x)Ay2P;ZIt$m1%*^H=R=W~}zkHG9<>|fC$aKu0e8!Afl?<$B zCeBHF`0`0g=bJF?aP@4F2OC z7#SEE>4K0+h@q*Kfq|8YfwqAekYS#qUyq_8H$NpatrA6pp_PdVP^q>7Nasq|evl0e Mp00i_>zopr041ImPXGV_ literal 0 HcmV?d00001 diff --git a/recipes/icons/poradnia_pwn.png b/recipes/icons/poradnia_pwn.png new file mode 100644 index 0000000000000000000000000000000000000000..6cafb534fc5a19e2b0c497111f9ac75d6b5badf3 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=Y7G zC&cyt|Nm#soayN301Dg=UbX~CF(!GtyD)UH%6b4fp`I>|Asp9}6Yd;8aNxkd{f&)| zdh#AOKFKE}tazH2ka*+t-2+EA^xt>vTc|hPv3KD=PG;@H|Jd04+Wu_g%$EG|+`j7I zfxrK^Gf()zZt~!Dyu!x>R%Qmr8xk74cbAp}El@3SjVMV;EJ?LWE=mPb3`PcqM!Fzm z5@Kj-Wnf@sVxVnc24tA$=+~oY$jwj5OshoEU}$9uM8?_%Af4Y|^&bIhVDNPHb6Mw< G&;$U5CvhYI literal 0 HcmV?d00001 diff --git a/recipes/icons/tvp_info.png b/recipes/icons/tvp_info.png new file mode 100644 index 0000000000000000000000000000000000000000..1414f38d5c0c3e4595de5e2eb39698205ea1f87b GIT binary patch literal 329 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmSN`?>!lvI6;x#X;^) z4C~IxyaaL-l0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=Y7G zC&U#Eal|aXmS~ zfpww7feBl)u6ngyxp2XwZOzQhX+}$2&#?#vDuhL(sDv;rQ8C%_&wf@N!z~M;#Vp!W z_XD-7mbgZgq$HN4S|t~y0x1R~14AQS5HbldG_^7?ure{wHZTJ+%yabXQ8eV{r(~v8 gqG&L*GBvg`25JE5WSQaf7^s24)78&qol`;+0Nr0(O#lD@ literal 0 HcmV?d00001 diff --git a/recipes/icons/zaufana_trzecia_strona.png b/recipes/icons/zaufana_trzecia_strona.png new file mode 100644 index 0000000000000000000000000000000000000000..cdaeb95d278f940131cbe6e8e8edfd4bb2dc9a94 GIT binary patch literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM%9|WRD45bDP46hOx7_4S6Fo+k-*%fF5l&}o& z332`Z|NoUrqbub`e|FnnDm8j@d<_u&-RtmUwlR?VeU|b6zrTQL{{8;`@9o)tKi>X* zd-LDt=l}lwHTE==02;zx666=maO}z76=LGWYg=M~LX1h??k)@+tg;?JPOztoV~E7% zt$n9O8w_|3Gl>W_|9oe!v!iy4PD9=#eY4X$+#`;wK6cUGBMCLFat8obM)&`H00)|WTsW3XfU)gHL)_W)HVR=tdx`v Q0BT_HboFyt=akR{02&99^#A|> literal 0 HcmV?d00001 diff --git a/recipes/poradnia_pwn.recipe b/recipes/poradnia_pwn.recipe new file mode 100644 index 0000000000..ac2c81a5d0 --- /dev/null +++ b/recipes/poradnia_pwn.recipe @@ -0,0 +1,64 @@ +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from calibre.web.feeds.news import BasicNewsRecipe +import re +class PoradniaPWN(BasicNewsRecipe): + title = u'Poradnia Językowa PWN' + __author__ = 'fenuks' + description = u'Internetowa poradnia językowa Wydawnictwa Naukowego PWN. Poradnię prowadzi Redaktor Naczelny Słowników Języka Polskiego, prof. Mirosław Bańko. Pomagają mu eksperci - znani polscy językoznawcy. Współpracuje z nami m.in. prof. Jerzy Bralczyk oraz dr Jan Grzenia.' + category = 'language' + language = 'pl' + #cover_url = '' + oldest_article = 14 + max_articles_per_feed = 100000 + INDEX = "http://poradnia.pwn.pl/" + no_stylesheets = True + remove_attributes = ['style'] + remove_javascript = True + use_embedded_content = False + #preprocess_regexps = [(re.compile('', re.IGNORECASE), lambda m: ''), (re.compile('', re.IGNORECASE), lambda m: '')] + keep_only_tags = [dict(name="div", attrs={"class":"searchhi"})] + feeds = [(u'Poradnia', u'http://rss.pwn.pl/poradnia.rss')] + + '''def find_articles(self, url): + articles = [] + soup=self.index_to_soup(url) + counter = int(soup.find(name='p', attrs={'class':'count'}).findAll('b')[-1].string) + counter = 500 + pos = 0 + next = url + while next: + soup=self.index_to_soup(next) + tag=soup.find(id="listapytan") + art=tag.findAll(name='li') + for i in art: + if i.h4: + title=i.h4.a.string + url=self.INDEX+i.h4.a['href'] + #date=soup.find(id='footer').ul.li.string[41:-1] + articles.append({'title' : title, + 'url' : url, + 'date' : '', + 'description' : '' + }) + pos += 10 + if not pos >=counter: + next = 'http://poradnia.pwn.pl/lista.php?kat=18&od=' + str(pos) + print u'Tworzenie listy artykułów dla', next + else: + next = None + print articles + return articles + + def parse_index(self): + feeds = [] + feeds.append((u"Poradnia", self.find_articles('http://poradnia.pwn.pl/lista.php'))) + + return feeds''' + + def preprocess_html(self, soup): + for i in soup.findAll(name=['ul', 'li']): + i.name="div" + for z in soup.findAll(name='a'): + if not z['href'].startswith('http'): + z['href'] = 'http://poradnia.pwn.pl/' + z['href'] + return soup diff --git a/recipes/tvp_info.recipe b/recipes/tvp_info.recipe new file mode 100644 index 0000000000..64528d4194 --- /dev/null +++ b/recipes/tvp_info.recipe @@ -0,0 +1,20 @@ +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from calibre.web.feeds.news import BasicNewsRecipe +class TVPINFO(BasicNewsRecipe): + title = u'TVP.INFO' + __author__ = 'fenuks' + description = u'Serwis informacyjny TVP.INFO' + category = 'news' + language = 'pl' + cover_url = 'http://s.v3.tvp.pl/files/tvp-info/gfx/logo.png' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + remove_empty_feeds = True + remove_javascript = True + use_embedded_content = False + ignore_duplicate_articles = {'title', 'url'} + keep_only_tags = [dict(id='contentNews')] + remove_tags = [dict(attrs={'class':['toolbox', 'modulBox read', 'modulBox social', 'videoPlayerBox']}), dict(id='belka')] + feeds = [(u'Wiadomo\u015bci', u'http://tvp.info/informacje?xslt=tvp-info/news/rss.xslt&src_id=191865'), + (u'\u015awiat', u'http://tvp.info/informacje/swiat?xslt=tvp-info/news/rss.xslt&src_id=191867'), (u'Biznes', u'http://tvp.info/informacje/biznes?xslt=tvp-info/news/rss.xslt&src_id=191868'), (u'Nauka', u'http://tvp.info/informacje/nauka?xslt=tvp-info/news/rss.xslt&src_id=191870'), (u'Kultura', u'http://tvp.info/informacje/kultura?xslt=tvp-info/news/rss.xslt&src_id=191869'), (u'Rozmaito\u015bci', u'http://tvp.info/informacje/rozmaitosci?xslt=tvp-info/news/rss.xslt&src_id=191872'), (u'Opinie', u'http://tvp.info/opinie?xslt=tvp-info/news/rss.xslt&src_id=191875'), (u'Komentarze', u'http://tvp.info/opinie/komentarze?xslt=tvp-info/news/rss.xslt&src_id=238200'), (u'Wywiady', u'http://tvp.info/opinie/wywiady?xslt=tvp-info/news/rss.xslt&src_id=236644')] diff --git a/recipes/zaufana_trzecia_strona.recipe b/recipes/zaufana_trzecia_strona.recipe new file mode 100644 index 0000000000..13e7d98cce --- /dev/null +++ b/recipes/zaufana_trzecia_strona.recipe @@ -0,0 +1,16 @@ +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai +from calibre.web.feeds.news import BasicNewsRecipe +class ZTS(BasicNewsRecipe): + title = u'Zaufana Trzecia Strona' + __author__ = 'fenuks' + description = u'Niezależne źródło wiadomości o świecie bezpieczeństwa IT' + category = 'IT, security' + language = 'pl' + cover_url = 'http://www.zaufanatrzeciastrona.pl/wp-content/uploads/2012/08/z3s_h100.png' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + remove_empty_feeds = True + keep_only_tags = [dict(name='div', attrs={'class':'post postcontent'})] + remove_tags = [dict(name='div', attrs={'class':'dolna-ramka'})] + feeds = [(u'Strona g\u0142\xf3wna', u'http://feeds.feedburner.com/ZaufanaTrzeciaStronaGlowna'), (u'Drobiazgi', u'http://feeds.feedburner.com/ZaufanaTrzeciaStronaDrobiazgi')] diff --git a/src/calibre/ebooks/pdf/render/engine.py b/src/calibre/ebooks/pdf/render/engine.py index 496dca1cd0..216b612104 100644 --- a/src/calibre/ebooks/pdf/render/engine.py +++ b/src/calibre/ebooks/pdf/render/engine.py @@ -202,8 +202,9 @@ class PdfEngine(QPaintEngine): @property def features(self): - # TODO: Remove unsupported features from this - return QPaintEngine.AllFeatures + return (QPaintEngine.Antialiasing | QPaintEngine.PainterPaths | + QPaintEngine.PaintOutsidePaintEvent | QPaintEngine.PorterDuff | + QPaintEngine.PrimitiveTransform) def begin(self, device): try: