Fix #416 (Error converting .lit file)

This commit is contained in:
Marshall T. Vandegrift 2008-07-26 07:56:39 -04:00
parent 80c665544c
commit e67eca9487

View File

@ -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] == '/':