mirror of
git://github.com/kovidgoyal/calibre.git
synced 2026-04-24 17:23:26 +02:00
Fix #2907 (Calibre throws an error when trying to convert a free ebook that comes with BN eReader.)
This commit is contained in:
parent
db747c1a92
commit
04423d46d5
2 changed files with 11 additions and 1 deletions
|
|
@ -384,6 +384,15 @@ def entity_to_unicode(match, exceptions=[], encoding='cp1252'):
|
|||
except KeyError:
|
||||
return '&'+ent+';'
|
||||
|
||||
_ent_pat = re.compile(r'&(\S+);')
|
||||
|
||||
def prepare_string_for_xml(raw, attribute=False):
|
||||
raw = _ent_pat.sub(entity_to_unicode, raw)
|
||||
raw = raw.replace('&', '&').replace('<', '<').replace('>', '>')
|
||||
if attribute:
|
||||
raw = raw.replace('"', '"').replace("'", ''')
|
||||
return raw
|
||||
|
||||
if isosx:
|
||||
fdir = os.path.expanduser('~/.fonts')
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
from calibre.customize.conversion import OutputFormatPlugin
|
||||
from calibre.ptempfile import TemporaryDirectory
|
||||
from calibre.constants import __appname__, __version__
|
||||
from calibre import strftime, guess_type
|
||||
from calibre import strftime, guess_type, prepare_string_for_xml
|
||||
from calibre.customize.conversion import OptionRecommendation
|
||||
|
||||
from lxml import etree
|
||||
|
|
@ -210,6 +210,7 @@ def default_cover(self):
|
|||
id, href = self.oeb.manifest.generate('calibre-logo',
|
||||
'calibre-logo.png')
|
||||
self.oeb.manifest.add(id, href, 'image/png', data=img_data)
|
||||
title, author = map(prepare_string_for_xml, (title, author))
|
||||
html = self.TITLEPAGE%dict(title=title, author=author,
|
||||
date=strftime('%d %b, %Y'),
|
||||
app=__appname__ +' '+__version__,
|
||||
|
|
|
|||
Loading…
Reference in a new issue