diff options
Diffstat (limited to '')
| -rw-r--r-- | lib/archive.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/archive.py b/lib/archive.py index 33fe6e7..0c3bb15 100644 --- a/lib/archive.py +++ b/lib/archive.py | |||
| @@ -76,6 +76,12 @@ class ZipStripper(GenericArchiveStripper): | |||
| 76 | return metadata | 76 | return metadata |
| 77 | 77 | ||
| 78 | def remove_all(self): | 78 | def remove_all(self): |
| 79 | self._remove_all(self, 'normal') | ||
| 80 | |||
| 81 | def remove_all_ugly(self): | ||
| 82 | self._remove_all(self, 'ugly') | ||
| 83 | |||
| 84 | def _remove_all(self, method): | ||
| 79 | zipin = zipfile.ZipFile(self.filename, 'r') | 85 | zipin = zipfile.ZipFile(self.filename, 'r') |
| 80 | zipout = zipfile.ZipFile(self.filename + parser.POSTFIX, 'w', | 86 | zipout = zipfile.ZipFile(self.filename + parser.POSTFIX, 'w', |
| 81 | allowZip64=True) | 87 | allowZip64=True) |
| @@ -85,12 +91,15 @@ class ZipStripper(GenericArchiveStripper): | |||
| 85 | try: | 91 | try: |
| 86 | cfile = mat.create_class_file(item.filename, False, | 92 | cfile = mat.create_class_file(item.filename, False, |
| 87 | self.add2archive) | 93 | self.add2archive) |
| 88 | cfile.remove_all() | 94 | if method is 'normal': |
| 95 | cfile.remove_all() | ||
| 96 | else: | ||
| 97 | cfile.remove_all_ugly() | ||
| 89 | logging.debug('Processing %s from %s' % (item.filename, | 98 | logging.debug('Processing %s from %s' % (item.filename, |
| 90 | self.filename)) | 99 | self.filename)) |
| 91 | zipout.write(item.filename) | 100 | zipout.write(item.filename) |
| 92 | except: | 101 | except: |
| 93 | logging.info('%s\' filefomart is not supported' % | 102 | logging.info('%s\' fileformat is not supported' % |
| 94 | item.filename) | 103 | item.filename) |
| 95 | if self.add2archive: | 104 | if self.add2archive: |
| 96 | zipout.write(item.filename) | 105 | zipout.write(item.filename) |
