Fix to MOBI 'Unknown' problem (replacing all empty strings with the string Unknown)

This commit is contained in:
Oliver Graf 2012-07-28 20:34:26 +02:00
parent e6a1a39597
commit 0c25a25eb4
2 changed files with 6 additions and 3 deletions

View File

@ -302,7 +302,7 @@ def encode_tbs(val, extra, flag_size=4):
ans += encint(extra[0b0001])
return ans
def utf8_text(text):
def utf8_text(text, empty=False):
'''
Convert a possibly null string to utf-8 bytes, guaranteeing to return a non
empty, normalized bytestring.
@ -313,7 +313,10 @@ def utf8_text(text):
text = text.decode('utf-8', 'replace')
text = normalize(text).encode('utf-8')
else:
if not empty:
text = _('Unknown').encode('utf-8')
else:
text = u''.encode('utf-8') # yeah, stupid
return text
def align_block(raw, multiple=4, pad=b'\0'):

View File

@ -355,7 +355,7 @@ class Serializer(object):
text = text.replace(u'\u00AD', '') # Soft-hyphen
if quot:
text = text.replace('"', '"')
self.buf.write(utf8_text(text))
self.buf.write(utf8_text(text, empty=True))
def fixup_links(self):
'''