mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix #416 (Error converting .lit file)
This commit is contained in:
parent
80c665544c
commit
e67eca9487
@ -576,20 +576,21 @@ class LitReader(object):
|
|||||||
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(
|
||||||
original, internal, mime_type, offset, root, state)
|
original, internal, mime_type, offset, root, state)
|
||||||
# Remove any common path elements
|
|
||||||
mlist = self.manifest.values()
|
mlist = self.manifest.values()
|
||||||
shared = mlist[0].path
|
# Remove any common path elements
|
||||||
for item in mlist[1:]:
|
if len(mlist) > 1:
|
||||||
path = item.path
|
shared = mlist[0].path
|
||||||
while shared and not path.startswith(shared):
|
for item in mlist[1:]:
|
||||||
try: shared = shared[:shared.rindex("/", 0, -2) + 1]
|
path = item.path
|
||||||
except ValueError: shared = None
|
while shared and not path.startswith(shared):
|
||||||
if not shared:
|
try: shared = shared[:shared.rindex("/", 0, -2) + 1]
|
||||||
break
|
except ValueError: shared = None
|
||||||
if shared:
|
if not shared:
|
||||||
slen = len(shared)
|
break
|
||||||
for item in mlist:
|
if shared:
|
||||||
item.path = item.path[slen:]
|
slen = len(shared)
|
||||||
|
for item in mlist:
|
||||||
|
item.path = item.path[slen:]
|
||||||
# Fix any straggling absolute paths
|
# Fix any straggling absolute paths
|
||||||
for item in mlist:
|
for item in mlist:
|
||||||
if item.path[0] == '/':
|
if item.path[0] == '/':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user