summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/archive.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/archive.py b/lib/archive.py
index 0c3bb15..d7d3509 100644
--- a/lib/archive.py
+++ b/lib/archive.py
@@ -24,6 +24,11 @@ class GenericArchiveStripper(parser.Generic_parser):
24 [shutil.rmtree(folder) for folder in self.folder_list] 24 [shutil.rmtree(folder) for folder in self.folder_list]
25 self.folder_list = [] 25 self.folder_list = []
26 26
27 def remove_all(self):
28 self._remove_all('normal')
29
30 def remove_all_ugly(self):
31 self._remove_all('ugly')
27 32
28class ZipStripper(GenericArchiveStripper): 33class ZipStripper(GenericArchiveStripper):
29 def is_file_clean(self, file): 34 def is_file_clean(self, file):
@@ -75,11 +80,6 @@ class ZipStripper(GenericArchiveStripper):
75 zipin.close() 80 zipin.close()
76 return metadata 81 return metadata
77 82
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 83
84 def _remove_all(self, method): 84 def _remove_all(self, method):
85 zipin = zipfile.ZipFile(self.filename, 'r') 85 zipin = zipfile.ZipFile(self.filename, 'r')
@@ -125,7 +125,7 @@ class TarStripper(GenericArchiveStripper):
125 current_file.gname = '' 125 current_file.gname = ''
126 return current_file 126 return current_file
127 127
128 def remove_all(self): 128 def _remove_all(self, method):
129 tarin = tarfile.open(self.filename, 'r' + self.compression) 129 tarin = tarfile.open(self.filename, 'r' + self.compression)
130 tarout = tarfile.open(self.filename + parser.POSTFIX, 130 tarout = tarfile.open(self.filename + parser.POSTFIX,
131 'w' + self.compression) 131 'w' + self.compression)
@@ -136,7 +136,10 @@ class TarStripper(GenericArchiveStripper):
136 try: 136 try:
137 cfile = mat.create_class_file(current_file.name, False, 137 cfile = mat.create_class_file(current_file.name, False,
138 self.add2archive) 138 self.add2archive)
139 cfile.remove_all() 139 if method is 'normal':
140 cfile.remove_all()
141 else:
142 cfile.remove_all_ugly()
140 tarout.add(current_file.name, filter=self._remove) 143 tarout.add(current_file.name, filter=self._remove)
141 except: 144 except:
142 logging.info('%s\' format is not supported' % 145 logging.info('%s\' format is not supported' %