mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
Fix #4259 (MOBI viewer crashes)
This commit is contained in:
parent
3ea655ff37
commit
0d1df2ad7b
@ -1,58 +1,58 @@
|
|||||||
from calibre.web.feeds.news import BasicNewsRecipe
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
|
||||||
class PravdaSlovakiaRecipe(BasicNewsRecipe):
|
class PravdaSlovakiaRecipe(BasicNewsRecipe):
|
||||||
__license__ = 'GPL v3'
|
__license__ = 'GPL v3'
|
||||||
__author__ = 'kwetal'
|
__author__ = 'kwetal'
|
||||||
language = 'sk'
|
language = 'sk'
|
||||||
version = 1
|
version = 1
|
||||||
|
|
||||||
title = u'Pravda'
|
title = u'Pravda'
|
||||||
publisher = u''
|
publisher = u''
|
||||||
category = u'News, Newspaper'
|
category = u'News, Newspaper'
|
||||||
description = u'News from Slovakia'
|
description = u'News from Slovakia'
|
||||||
|
|
||||||
oldest_article = 1
|
oldest_article = 1
|
||||||
max_articles_per_feed = 100
|
max_articles_per_feed = 100
|
||||||
use_embedded_content = False
|
use_embedded_content = False
|
||||||
remove_empty_feeds = True
|
remove_empty_feeds = True
|
||||||
|
|
||||||
no_stylesheets = True
|
no_stylesheets = True
|
||||||
remove_javascript = True
|
remove_javascript = True
|
||||||
|
|
||||||
# Feeds from: http://spravy.pravda.sk/info.asp?y=sk_kskop/rssinfo.htm
|
# Feeds from: http://spravy.pravda.sk/info.asp?y=sk_kskop/rssinfo.htm
|
||||||
feeds = []
|
feeds = []
|
||||||
feeds.append((u'Spravodajstvo', u'http://servis.pravda.sk/rss.asp'))
|
feeds.append((u'Spravodajstvo', u'http://servis.pravda.sk/rss.asp'))
|
||||||
feeds.append((u'N\u00E1zory', u'http://servis.pravda.sk/rss.asp?o=sk_nazory'))
|
feeds.append((u'N\u00E1zory', u'http://servis.pravda.sk/rss.asp?o=sk_nazory'))
|
||||||
feeds.append((u'\u0160port', u'http://servis.pravda.sk/rss.asp?o=sk_sport'))
|
feeds.append((u'\u0160port', u'http://servis.pravda.sk/rss.asp?o=sk_sport'))
|
||||||
feeds.append((u'Peniaze', u'http://servis.pravda.sk/rss.asp?o=sk_peniaze'))
|
feeds.append((u'Peniaze', u'http://servis.pravda.sk/rss.asp?o=sk_peniaze'))
|
||||||
feeds.append((u'Koktail', u'http://servis.pravda.sk/rss.asp?o=sk_koktail'))
|
feeds.append((u'Koktail', u'http://servis.pravda.sk/rss.asp?o=sk_koktail'))
|
||||||
feeds.append((u'Kult\u00FAra', u'http://servis.pravda.sk/rss.asp?o=sk_kultura'))
|
feeds.append((u'Kult\u00FAra', u'http://servis.pravda.sk/rss.asp?o=sk_kultura'))
|
||||||
feeds.append((u'B\u00FDvanie', u'http://servis.pravda.sk/rss.asp?o=sk_byvanie'))
|
feeds.append((u'B\u00FDvanie', u'http://servis.pravda.sk/rss.asp?o=sk_byvanie'))
|
||||||
feeds.append((u'Veda a Technika', u'http://servis.pravda.sk/rss.asp?o=sk_veda'))
|
feeds.append((u'Veda a Technika', u'http://servis.pravda.sk/rss.asp?o=sk_veda'))
|
||||||
feeds.append((u'Mozgov\u00F1a', u'http://servis.pravda.sk/rss.asp?o=sk_mozgovna'))
|
feeds.append((u'Mozgov\u00F1a', u'http://servis.pravda.sk/rss.asp?o=sk_mozgovna'))
|
||||||
feeds.append((u'Auto', u'http://servis.pravda.sk/rss.asp?o=sk_autoweb'))
|
feeds.append((u'Auto', u'http://servis.pravda.sk/rss.asp?o=sk_autoweb'))
|
||||||
feeds.append((u'Cestovanie', u'http://servis.pravda.sk/rss.asp?o=sk_cestovanie'))
|
feeds.append((u'Cestovanie', u'http://servis.pravda.sk/rss.asp?o=sk_cestovanie'))
|
||||||
feeds.append((u'Regi\u00F3ny', u'http://servis.pravda.sk/rss.asp?r=sk_regiony'))
|
feeds.append((u'Regi\u00F3ny', u'http://servis.pravda.sk/rss.asp?r=sk_regiony'))
|
||||||
feeds.append((u'Profesia', u'http://servis.pravda.sk/rss.asp?o=sk_profesia'))
|
feeds.append((u'Profesia', u'http://servis.pravda.sk/rss.asp?o=sk_profesia'))
|
||||||
feeds.append((u'Zdravie', u'http://servis.pravda.sk/rss.asp?o=sk_zdravie'))
|
feeds.append((u'Zdravie', u'http://servis.pravda.sk/rss.asp?o=sk_zdravie'))
|
||||||
feeds.append((u'\u010C\u00EDtajme de\u0165om', u'http://servis.pravda.sk/rss.asp?o=sk_citajme'))
|
feeds.append((u'\u010C\u00EDtajme de\u0165om', u'http://servis.pravda.sk/rss.asp?o=sk_citajme'))
|
||||||
|
|
||||||
remove_tags = []
|
remove_tags = []
|
||||||
remove_tags.append(dict(name = 'p', attrs = {'class': 'spatNaClanok'}))
|
remove_tags.append(dict(name = 'p', attrs = {'class': 'spatNaClanok'}))
|
||||||
remove_tags.append(dict(name = 'ul'))
|
remove_tags.append(dict(name = 'ul'))
|
||||||
|
|
||||||
extra_css = '''
|
extra_css = '''
|
||||||
@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)}
|
@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)}
|
||||||
@font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/LiberationSans.ttf)}
|
@font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/LiberationSans.ttf)}
|
||||||
body {font-family: sans1, serif1;}
|
body {font-family: sans1, serif1;}
|
||||||
.art-info {font-size: x-small; color: #696969; margin-bottom: 0.3em;}
|
.art-info {font-size: x-small; color: #696969; margin-bottom: 0.3em;}
|
||||||
.img-info {font-size: x-small; color: #696969;}
|
.img-info {font-size: x-small; color: #696969;}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
def print_version(self, url):
|
def print_version(self, url):
|
||||||
ignore, sep, main = url.rpartition('/')
|
ignore, sep, main = url.rpartition('/')
|
||||||
app, sep, id = main.rpartition('?')
|
app, sep, id = main.rpartition('?')
|
||||||
|
|
||||||
app = app.replace('.asp', '')
|
app = app.replace('.asp', '')
|
||||||
|
|
||||||
return 'http://sport.pravda.sk/tlac.asp?r=' + app + '&' + id
|
return 'http://sport.pravda.sk/tlac.asp?r=' + app + '&' + id
|
||||||
|
@ -1,69 +1,69 @@
|
|||||||
from calibre.web.feeds.news import BasicNewsRecipe
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
import re
|
import re
|
||||||
|
|
||||||
class SmeRecipe(BasicNewsRecipe):
|
class SmeRecipe(BasicNewsRecipe):
|
||||||
__license__ = 'GPL v3'
|
__license__ = 'GPL v3'
|
||||||
__author__ = 'kwetal'
|
__author__ = 'kwetal'
|
||||||
language = 'sk'
|
language = 'sk'
|
||||||
version = 1
|
version = 1
|
||||||
|
|
||||||
title = u'SME'
|
title = u'SME'
|
||||||
publisher = u''
|
publisher = u''
|
||||||
category = u'News, Newspaper'
|
category = u'News, Newspaper'
|
||||||
description = u'News from Slovakia'
|
description = u'News from Slovakia'
|
||||||
|
|
||||||
oldest_article = 1
|
oldest_article = 1
|
||||||
max_articles_per_feed = 100
|
max_articles_per_feed = 100
|
||||||
use_embedded_content = False
|
use_embedded_content = False
|
||||||
remove_empty_feeds = True
|
remove_empty_feeds = True
|
||||||
|
|
||||||
no_stylesheets = True
|
no_stylesheets = True
|
||||||
remove_javascript = True
|
remove_javascript = True
|
||||||
|
|
||||||
# Feeds from: http://rss.sme.sk/
|
# Feeds from: http://rss.sme.sk/
|
||||||
feeds = []
|
feeds = []
|
||||||
feeds.append((u'Tituln\u00E1 strana', u'http://rss.sme.sk/rss/rss.asp?id=frontpage'))
|
feeds.append((u'Tituln\u00E1 strana', u'http://rss.sme.sk/rss/rss.asp?id=frontpage'))
|
||||||
feeds.append((u'Naj\u010D\u00EDtanej\u0161ie za 4 hodiny', u'http://rss.sme.sk/rss/rss.asp?id=smenajcit4'))
|
feeds.append((u'Naj\u010D\u00EDtanej\u0161ie za 4 hodiny', u'http://rss.sme.sk/rss/rss.asp?id=smenajcit4'))
|
||||||
feeds.append((u'Naj\u010D\u00EDtanej\u0161ie za 24 hod\u00EDn', u'http://rss.sme.sk/rss/rss.asp?id=smenajcit24'))
|
feeds.append((u'Naj\u010D\u00EDtanej\u0161ie za 24 hod\u00EDn', u'http://rss.sme.sk/rss/rss.asp?id=smenajcit24'))
|
||||||
feeds.append((u'Z domova', u'http://rss.sme.sk/rss/rss.asp?sek=smeonline&rub=online_zdom'))
|
feeds.append((u'Z domova', u'http://rss.sme.sk/rss/rss.asp?sek=smeonline&rub=online_zdom'))
|
||||||
feeds.append((u'Zahrani\u010Die', u'http://rss.sme.sk/rss/rss.asp?sek=smeonline&rub=online_zahr'))
|
feeds.append((u'Zahrani\u010Die', u'http://rss.sme.sk/rss/rss.asp?sek=smeonline&rub=online_zahr'))
|
||||||
feeds.append((u'Z domova + zahrani\u010Die', u'http://rss.sme.sk/rss/rss.asp?sek=smeonline'))
|
feeds.append((u'Z domova + zahrani\u010Die', u'http://rss.sme.sk/rss/rss.asp?sek=smeonline'))
|
||||||
feeds.append((u'Ekonomika', u'http://rss.sme.sk/rss/rss.asp?sek=ekon'))
|
feeds.append((u'Ekonomika', u'http://rss.sme.sk/rss/rss.asp?sek=ekon'))
|
||||||
feeds.append((u'Kult\u00FAra', u'http://rss.sme.sk/rss/rss.asp?sek=kult'))
|
feeds.append((u'Kult\u00FAra', u'http://rss.sme.sk/rss/rss.asp?sek=kult'))
|
||||||
feeds.append((u'Koment\u00E1re', u'http://rss.sme.sk/rss/rss.asp?sek=koment'))
|
feeds.append((u'Koment\u00E1re', u'http://rss.sme.sk/rss/rss.asp?sek=koment'))
|
||||||
feeds.append((u'Volby', u'http://rss.sme.sk/rss/rss.asp?sek=eVolby'))
|
feeds.append((u'Volby', u'http://rss.sme.sk/rss/rss.asp?sek=eVolby'))
|
||||||
#feeds.append((u'Press foto', u'http://rss.sme.sk/rss/rss.asp?sek=smeonline&rub=online_foto'))
|
#feeds.append((u'Press foto', u'http://rss.sme.sk/rss/rss.asp?sek=smeonline&rub=online_foto'))
|
||||||
feeds.append((u'\u0160port', u'http://rss.sme.sk/rss/rss.asp?sek=sport'))
|
feeds.append((u'\u0160port', u'http://rss.sme.sk/rss/rss.asp?sek=sport'))
|
||||||
feeds.append((u'Futbal', u'http://rss.sme.sk/rss/rss.asp?sek=futbal'))
|
feeds.append((u'Futbal', u'http://rss.sme.sk/rss/rss.asp?sek=futbal'))
|
||||||
feeds.append((u'Hokej', u'http://rss.sme.sk/rss/rss.asp?sek=hokej'))
|
feeds.append((u'Hokej', u'http://rss.sme.sk/rss/rss.asp?sek=hokej'))
|
||||||
feeds.append((u'Po\u010D\u00EDta\u010De', u'http://rss.sme.sk/rss/rss.asp?sek=pocit'))
|
feeds.append((u'Po\u010D\u00EDta\u010De', u'http://rss.sme.sk/rss/rss.asp?sek=pocit'))
|
||||||
feeds.append((u'Mobil', u'http://rss.sme.sk/rss/rss.asp?sek=mobil'))
|
feeds.append((u'Mobil', u'http://rss.sme.sk/rss/rss.asp?sek=mobil'))
|
||||||
feeds.append((u'Veda', u'http://rss.sme.sk/rss/rss.asp?sek=veda'))
|
feeds.append((u'Veda', u'http://rss.sme.sk/rss/rss.asp?sek=veda'))
|
||||||
feeds.append((u'Natankuj', u'http://rss.sme.sk/rss/rss.asp?sek=natankuj'))
|
feeds.append((u'Natankuj', u'http://rss.sme.sk/rss/rss.asp?sek=natankuj'))
|
||||||
feeds.append((u'Auto', u'http://rss.sme.sk/rss/rss.asp?sek=auto'))
|
feeds.append((u'Auto', u'http://rss.sme.sk/rss/rss.asp?sek=auto'))
|
||||||
feeds.append((u'Dom\u00E1cnos\u0165', u'http://rss.sme.sk/rss/rss.asp?sek=domac'))
|
feeds.append((u'Dom\u00E1cnos\u0165', u'http://rss.sme.sk/rss/rss.asp?sek=domac'))
|
||||||
feeds.append((u'\u017Dena', u'http://rss.sme.sk/rss/rss.asp?sek=zena'))
|
feeds.append((u'\u017Dena', u'http://rss.sme.sk/rss/rss.asp?sek=zena'))
|
||||||
feeds.append((u'Z\u00E1bava', u'http://rss.sme.sk/rss/rss.asp?sek=zabava'))
|
feeds.append((u'Z\u00E1bava', u'http://rss.sme.sk/rss/rss.asp?sek=zabava'))
|
||||||
feeds.append((u'Hry', u'http://rss.sme.sk/rss/rss.asp?sek=hry'))
|
feeds.append((u'Hry', u'http://rss.sme.sk/rss/rss.asp?sek=hry'))
|
||||||
#feeds.append((u'', u''))
|
#feeds.append((u'', u''))
|
||||||
|
|
||||||
keep_only_tags = []
|
keep_only_tags = []
|
||||||
keep_only_tags.append(dict(name = 'div', attrs = {'id': 'contenth'}))
|
keep_only_tags.append(dict(name = 'div', attrs = {'id': 'contenth'}))
|
||||||
keep_only_tags.append(dict(name = 'div', attrs = {'class': 'articlec col'}))
|
keep_only_tags.append(dict(name = 'div', attrs = {'class': 'articlec col'}))
|
||||||
|
|
||||||
remove_tags = []
|
remove_tags = []
|
||||||
remove_tags.append(dict(name = 'div', attrs = {'id': re.compile('smeplayer.*')}))
|
remove_tags.append(dict(name = 'div', attrs = {'id': re.compile('smeplayer.*')}))
|
||||||
|
|
||||||
remove_tags_after = [dict(name = 'p', attrs = {'class': 'autor_line'})]
|
remove_tags_after = [dict(name = 'p', attrs = {'class': 'autor_line'})]
|
||||||
|
|
||||||
extra_css = '''
|
extra_css = '''
|
||||||
@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)}
|
@font-face {font-family: "serif1";src:url(res:///opt/sony/ebook/FONT/tt0011m_.ttf)}
|
||||||
@font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/LiberationSans.ttf)}
|
@font-face {font-family: "sans1";src:url(res:///opt/sony/ebook/FONT/LiberationSans.ttf)}
|
||||||
body {font-family: sans1, serif1;}
|
body {font-family: sans1, serif1;}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
def print_version(self, url):
|
def print_version(self, url):
|
||||||
parts = url.split('/')
|
parts = url.split('/')
|
||||||
id = parts[4]
|
id = parts[4]
|
||||||
|
|
||||||
return u'http://korzar.sme.sk/clanok_tlac.asp?cl=' + str(id)
|
return u'http://korzar.sme.sk/clanok_tlac.asp?cl=' + str(id)
|
||||||
|
@ -602,7 +602,7 @@ class MobiReader(object):
|
|||||||
* opf.cover.split('/'))):
|
* opf.cover.split('/'))):
|
||||||
opf.cover = None
|
opf.cover = None
|
||||||
|
|
||||||
manifest = [(htmlfile, 'text/x-oeb1-document'),
|
manifest = [(htmlfile, 'application/xhtml+xml'),
|
||||||
(os.path.abspath('styles.css'), 'text/css')]
|
(os.path.abspath('styles.css'), 'text/css')]
|
||||||
bp = os.path.dirname(htmlfile)
|
bp = os.path.dirname(htmlfile)
|
||||||
for i in getattr(self, 'image_names', []):
|
for i in getattr(self, 'image_names', []):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user