mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix #1700. Handle LIT files with URL-encoded filenames in their manifests.
This commit is contained in:
parent
0350cd79e3
commit
cde9d8864c
@ -11,6 +11,7 @@ import sys, struct, cStringIO, os
|
|||||||
import functools
|
import functools
|
||||||
import re
|
import re
|
||||||
from urlparse import urldefrag
|
from urlparse import urldefrag
|
||||||
|
from urllib import unquote as urlunquote
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
from calibre.ebooks.lit import LitError
|
from calibre.ebooks.lit import LitError
|
||||||
from calibre.ebooks.lit.maps import OPF_MAP, HTML_MAP
|
from calibre.ebooks.lit.maps import OPF_MAP, HTML_MAP
|
||||||
@ -611,6 +612,8 @@ class LitReader(object):
|
|||||||
offset, raw = u32(raw), raw[4:]
|
offset, raw = u32(raw), raw[4:]
|
||||||
internal, raw = consume_sized_utf8_string(raw)
|
internal, raw = consume_sized_utf8_string(raw)
|
||||||
original, raw = consume_sized_utf8_string(raw)
|
original, raw = consume_sized_utf8_string(raw)
|
||||||
|
# The path should be stored unquoted, but not always
|
||||||
|
original = urlunquote(original)
|
||||||
# Is this last one UTF-8 or ASCIIZ?
|
# Is this last one UTF-8 or ASCIIZ?
|
||||||
mime_type, raw = consume_sized_utf8_string(raw, zpad=True)
|
mime_type, raw = consume_sized_utf8_string(raw, zpad=True)
|
||||||
self.manifest[internal] = ManifestItem(
|
self.manifest[internal] = ManifestItem(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user