Don't break office files for MS Office
We didn't take the whitelist into account while removing dangling files from [Content_types].xml
This commit is contained in:
parent
84e302ac93
commit
5a5c642a46
@ -217,8 +217,13 @@ class MSOfficeParser(ArchiveBasedAbstractParser):
|
|||||||
removed_fnames = set()
|
removed_fnames = set()
|
||||||
with zipfile.ZipFile(self.filename) as zin:
|
with zipfile.ZipFile(self.filename) as zin:
|
||||||
for fname in [item.filename for item in zin.infolist()]:
|
for fname in [item.filename for item in zin.infolist()]:
|
||||||
if any(map(lambda r: r.search(fname), self.files_to_omit)): # type: ignore
|
for file_to_omit in self.files_to_omit:
|
||||||
removed_fnames.add(fname)
|
if file_to_omit.search(fname):
|
||||||
|
matches = map(lambda r: r.search(fname), self.files_to_keep)
|
||||||
|
if any(matches): # the file is whitelisted
|
||||||
|
continue
|
||||||
|
removed_fnames.add(fname)
|
||||||
|
break
|
||||||
|
|
||||||
root = tree.getroot()
|
root = tree.getroot()
|
||||||
for item in root.findall('{%s}Override' % namespace['']):
|
for item in root.findall('{%s}Override' % namespace['']):
|
||||||
|
Loading…
Reference in New Issue
Block a user