mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
py3 compat fix metadata processing for PDB files
Fixes #1929071 [Python error editing metadata](https://bugs.launchpad.net/calibre/+bug/1929071)
This commit is contained in:
parent
af11719020
commit
aa3f34898d
@ -43,7 +43,10 @@ def get_metadata(stream, extract_cover=True):
|
||||
MetadataReader = MREADER.get(pheader.ident, None)
|
||||
|
||||
if MetadataReader is None:
|
||||
return MetaInformation(pheader.title, [_('Unknown')])
|
||||
t = pheader.title
|
||||
if isinstance(t, bytes):
|
||||
t = t.decode('utf-8', 'replace')
|
||||
return MetaInformation(t, [_('Unknown')])
|
||||
|
||||
return MetadataReader(stream, extract_cover)
|
||||
|
||||
@ -59,4 +62,4 @@ def set_metadata(stream, mi):
|
||||
MetadataWriter(stream, mi)
|
||||
|
||||
stream.seek(0)
|
||||
stream.write('%s\x00' % re.sub('[^-A-Za-z0-9 ]+', '_', mi.title).ljust(31, '\x00')[:31].encode('ascii', 'replace'))
|
||||
stream.write(re.sub('[^-A-Za-z0-9 ]+', '_', mi.title).ljust(31, '\x00')[:31].encode('ascii', 'replace') + b'\x00')
|
||||
|
Loading…
x
Reference in New Issue
Block a user