mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
rewritten interia recipes
This commit is contained in:
parent
249afa411d
commit
7fdce6b2fd
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
__license__ = 'GPL v3'
|
__license__ = 'GPL v3'
|
||||||
__copyright__ = u'2010, Tomasz Dlugosz <tomek3d@gmail.com>'
|
__copyright__ = u'2010-2013, Tomasz Dlugosz <tomek3d@gmail.com>'
|
||||||
'''
|
'''
|
||||||
fakty.interia.pl
|
fakty.interia.pl
|
||||||
'''
|
'''
|
||||||
@ -12,12 +12,13 @@ class InteriaFakty(BasicNewsRecipe):
|
|||||||
title = u'Interia.pl - Fakty'
|
title = u'Interia.pl - Fakty'
|
||||||
description = u'Fakty ze strony interia.pl'
|
description = u'Fakty ze strony interia.pl'
|
||||||
language = 'pl'
|
language = 'pl'
|
||||||
oldest_article = 7
|
oldest_article = 1
|
||||||
__author__ = u'Tomasz D\u0142ugosz'
|
__author__ = u'Tomasz D\u0142ugosz'
|
||||||
simultaneous_downloads = 2
|
|
||||||
no_stylesheets = True
|
no_stylesheets = True
|
||||||
remove_javascript = True
|
remove_javascript = True
|
||||||
max_articles_per_feed = 100
|
remove_empty_feeds= True
|
||||||
|
use_embedded_content = False
|
||||||
|
ignore_duplicate_articles = {'title', 'url'}
|
||||||
|
|
||||||
feeds = [(u'Kraj', u'http://kanaly.rss.interia.pl/kraj.xml'),
|
feeds = [(u'Kraj', u'http://kanaly.rss.interia.pl/kraj.xml'),
|
||||||
(u'\u015awiat', u'http://kanaly.rss.interia.pl/swiat.xml'),
|
(u'\u015awiat', u'http://kanaly.rss.interia.pl/swiat.xml'),
|
||||||
@ -26,14 +27,36 @@ class InteriaFakty(BasicNewsRecipe):
|
|||||||
(u'Wywiady', u'http://kanaly.rss.interia.pl/wywiady.xml'),
|
(u'Wywiady', u'http://kanaly.rss.interia.pl/wywiady.xml'),
|
||||||
(u'Ciekawostki', u'http://kanaly.rss.interia.pl/ciekawostki.xml')]
|
(u'Ciekawostki', u'http://kanaly.rss.interia.pl/ciekawostki.xml')]
|
||||||
|
|
||||||
keep_only_tags = [dict(name='div', attrs={'id':'article'})]
|
keep_only_tags = [
|
||||||
|
dict(name='h1'),
|
||||||
|
dict(name='div', attrs={'class': ['lead textContent', 'text textContent', 'source']})]
|
||||||
|
|
||||||
remove_tags = [
|
remove_tags = [dict(name='div', attrs={'class':['embed embedAd', 'REMOVE', 'boxHeader']})]
|
||||||
dict(name='div', attrs={'class':'box fontSizeSwitch'}),
|
|
||||||
dict(name='div', attrs={'class':'clear'}),
|
preprocess_regexps = [
|
||||||
dict(name='div', attrs={'class':'embed embedLeft articleEmbedArticleList articleEmbedArticleListTitle'}),
|
(re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in
|
||||||
dict(name='span', attrs={'class':'keywords'})]
|
[
|
||||||
|
(r'embed embed(Left|Right|Center) articleEmbed(Audio|Wideo articleEmbedVideo|ArticleFull|ArticleTitle|ArticleListTitle|AlbumHorizontal)">', lambda match: 'REMOVE">'),
|
||||||
|
(r'</div> <div class="source">', lambda match: ''),
|
||||||
|
(r'<p><a href="http://forum.interia.pl.*?</a></p>', lambda match: '')
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|
||||||
|
def get_article_url(self, article):
|
||||||
|
link = article.get('link', None)
|
||||||
|
if link and 'galerie' not in link and link.split('/')[-1]=="story01.htm":
|
||||||
|
link=link.split('/')[-2]
|
||||||
|
encoding = {'0B': '.', '0C': '/', '0A': '0', '0F': '=', '0G': '&',
|
||||||
|
'0D': '?', '0E': '-', '0H': ',', '0I': '_', '0N': '.com', '0L': 'http://'}
|
||||||
|
for k, v in encoding.iteritems():
|
||||||
|
link = link.replace(k, v)
|
||||||
|
return link
|
||||||
|
|
||||||
|
def print_version(self, url):
|
||||||
|
chunks = url.split(',')
|
||||||
|
return chunks[0] + '/podglad-wydruku'+ ',' + ','.join(chunks[1:])
|
||||||
|
|
||||||
extra_css = '''
|
extra_css = '''
|
||||||
h2 { font-size: 1.2em; }
|
h1 { font-size:130% }
|
||||||
'''
|
div.info { font-style:italic; font-size:70%}
|
||||||
|
'''
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
__license__ = 'GPL v3'
|
__license__ = 'GPL v3'
|
||||||
__copyright__ = u'2010, Tomasz Dlugosz <tomek3d@gmail.com>'
|
__copyright__ = u'2010-2013, Tomasz Dlugosz <tomek3d@gmail.com>'
|
||||||
'''
|
'''
|
||||||
sport.interia.pl
|
sport.interia.pl
|
||||||
'''
|
'''
|
||||||
@ -13,61 +13,51 @@ class InteriaSport(BasicNewsRecipe):
|
|||||||
title = u'Interia.pl - Sport'
|
title = u'Interia.pl - Sport'
|
||||||
description = u'Sport ze strony interia.pl'
|
description = u'Sport ze strony interia.pl'
|
||||||
language = 'pl'
|
language = 'pl'
|
||||||
oldest_article = 7
|
oldest_article = 1
|
||||||
__author__ = u'Tomasz D\u0142ugosz'
|
__author__ = u'Tomasz D\u0142ugosz'
|
||||||
simultaneous_downloads = 3
|
|
||||||
no_stylesheets = True
|
no_stylesheets = True
|
||||||
remove_javascript = True
|
remove_javascript = True
|
||||||
max_articles_per_feed = 100
|
remove_empty_feeds= True
|
||||||
|
use_embedded_content = False
|
||||||
|
ignore_duplicate_articles = {'title', 'url'}
|
||||||
|
|
||||||
feeds = [(u'Wydarzenia sportowe', u'http://kanaly.rss.interia.pl/sport.xml'),
|
feeds = [(u'Wydarzenia sportowe', u'http://kanaly.rss.interia.pl/sport.xml'),
|
||||||
(u'Pi\u0142ka no\u017cna', u'http://kanaly.rss.interia.pl/pilka_nozna.xml'),
|
(u'Pi\u0142ka no\u017cna', u'http://kanaly.rss.interia.pl/pilka_nozna.xml'),
|
||||||
(u'Siatk\xf3wka', u'http://kanaly.rss.interia.pl/siatkowka.xml'),
|
|
||||||
(u'Koszyk\xf3wka', u'http://kanaly.rss.interia.pl/koszykowka.xml'),
|
(u'Koszyk\xf3wka', u'http://kanaly.rss.interia.pl/koszykowka.xml'),
|
||||||
(u'NBA', u'http://kanaly.rss.interia.pl/nba.xml'),
|
|
||||||
(u'Kolarstwo', u'http://kanaly.rss.interia.pl/kolarstwo.xml'),
|
|
||||||
(u'\u017bu\u017cel', u'http://kanaly.rss.interia.pl/zuzel.xml'),
|
|
||||||
(u'Tenis', u'http://kanaly.rss.interia.pl/tenis.xml')]
|
(u'Tenis', u'http://kanaly.rss.interia.pl/tenis.xml')]
|
||||||
|
|
||||||
keep_only_tags = [dict(name='div', attrs={'id':'article'})]
|
keep_only_tags = [
|
||||||
|
dict(name='h1'),
|
||||||
|
dict(name='div', attrs={'class': ['lead textContent', 'text textContent', 'source']})]
|
||||||
|
|
||||||
remove_tags = [dict(name='div', attrs={'class':'object gallery'}),
|
remove_tags = [dict(name='div', attrs={'class':['embed embedAd', 'REMOVE', 'boxHeader']})]
|
||||||
dict(name='div', attrs={'class':'box fontSizeSwitch'})]
|
|
||||||
|
|
||||||
extra_css = '''
|
|
||||||
.articleDate {
|
|
||||||
font-size: 0.5em;
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.articleFoto {
|
|
||||||
display: block;
|
|
||||||
font-family: sans;
|
|
||||||
font-size: 0.5em;
|
|
||||||
text-indent: 0
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.articleText {
|
|
||||||
display: block;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
margin-left: 0;
|
|
||||||
margin-right: 0;
|
|
||||||
margin-top: 1em
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.articleLead {
|
|
||||||
font-size: 1.2em;
|
|
||||||
}
|
|
||||||
'''
|
|
||||||
|
|
||||||
preprocess_regexps = [
|
preprocess_regexps = [
|
||||||
(re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in
|
(re.compile(i[0], re.IGNORECASE | re.DOTALL), i[1]) for i in
|
||||||
[
|
[
|
||||||
(r'<p><a href.*?</a></p>', lambda match: ''),
|
(r'<p><a href.*?</a></p>', lambda match: ''),
|
||||||
# FIXME
|
(r'<p>(<i>)?<b>(ZOBACZ|CZYTAJ) T.*?</div>', lambda match: '</div>'),
|
||||||
#(r'(<div id="newsAddContent">)(.*?)(<a href=".*">)(.*?)(</a>)', lambda match: '\1\2\4'),
|
(r'embed embed(Left|Right|Center) articleEmbed(Audio|Wideo articleEmbedVideo|ArticleFull|ArticleTitle|ArticleListTitle|AlbumHorizontal)">', lambda match: 'REMOVE">'),
|
||||||
(r'<p>(<i>)?<b>(ZOBACZ|CZYTAJ) T.*?</div>', lambda match: '</div>')
|
(r'</div> <div class="source">', lambda match: ''),
|
||||||
|
(r'<p><a href="http://forum.interia.pl.*?</a></p>', lambda match: '')
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def get_article_url(self, article):
|
||||||
|
link = article.get('link', None)
|
||||||
|
if link and 'galerie' not in link and link.split('/')[-1]=="story01.htm":
|
||||||
|
link=link.split('/')[-2]
|
||||||
|
encoding = {'0B': '.', '0C': '/', '0A': '0', '0F': '=', '0G': '&',
|
||||||
|
'0D': '?', '0E': '-', '0H': ',', '0I': '_', '0N': '.com', '0L': 'http://'}
|
||||||
|
for k, v in encoding.iteritems():
|
||||||
|
link = link.replace(k, v)
|
||||||
|
return link
|
||||||
|
|
||||||
|
def print_version(self, url):
|
||||||
|
chunks = url.split(',')
|
||||||
|
return chunks[0] + '/podglad-wydruku'+ ',' + ','.join(chunks[1:])
|
||||||
|
|
||||||
|
extra_css = '''
|
||||||
|
h1 { font-size:130% }
|
||||||
|
div.info { font-style:italic; font-size:70%}
|
||||||
|
'''
|
||||||
|
Loading…
x
Reference in New Issue
Block a user