diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/archive.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/archive.py b/lib/archive.py index 2ee817e..33fe6e7 100644 --- a/lib/archive.py +++ b/lib/archive.py | |||
| @@ -40,6 +40,8 @@ class ZipStripper(GenericArchiveStripper): | |||
| 40 | 40 | ||
| 41 | def is_clean(self): | 41 | def is_clean(self): |
| 42 | zipin = zipfile.ZipFile(self.filename, 'r') | 42 | zipin = zipfile.ZipFile(self.filename, 'r') |
| 43 | if zipin.comment != '': | ||
| 44 | return False | ||
| 43 | for item in zipin.infolist(): | 45 | for item in zipin.infolist(): |
| 44 | if not self.is_file_clean(item): | 46 | if not self.is_file_clean(item): |
| 45 | return False | 47 | return False |
| @@ -69,6 +71,7 @@ class ZipStripper(GenericArchiveStripper): | |||
| 69 | zipmeta['system'] = field.create_system | 71 | zipmeta['system'] = field.create_system |
| 70 | zipmeta['zip_version'] = field.create_version | 72 | zipmeta['zip_version'] = field.create_version |
| 71 | metadata[field.filename] = zipmeta | 73 | metadata[field.filename] = zipmeta |
| 74 | metadata["%s comment" % self.filename] = zipin.comment | ||
| 72 | zipin.close() | 75 | zipin.close() |
| 73 | return metadata | 76 | return metadata |
| 74 | 77 | ||
| @@ -94,6 +97,7 @@ class ZipStripper(GenericArchiveStripper): | |||
| 94 | mat.secure_remove(item.filename) | 97 | mat.secure_remove(item.filename) |
| 95 | else: | 98 | else: |
| 96 | self.folder_list.insert(0, item.filename) | 99 | self.folder_list.insert(0, item.filename) |
| 100 | zipout.comment = '' | ||
| 97 | logging.info('%s treated' % self.filename) | 101 | logging.info('%s treated' % self.filename) |
| 98 | self.remove_folder() | 102 | self.remove_folder() |
| 99 | zipin.close() | 103 | zipin.close() |
