From bcc0ad2e7491c212ef35ca250fb8c5f2c53572da Mon Sep 17 00:00:00 2001 From: jvoisin Date: Sun, 24 Jul 2011 02:28:59 +0200 Subject: more abstraction, and support for "dirty cleaning" for .tar.* --- lib/archive.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'lib') 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): [shutil.rmtree(folder) for folder in self.folder_list] self.folder_list = [] + def remove_all(self): + self._remove_all('normal') + + def remove_all_ugly(self): + self._remove_all('ugly') class ZipStripper(GenericArchiveStripper): def is_file_clean(self, file): @@ -75,11 +80,6 @@ class ZipStripper(GenericArchiveStripper): zipin.close() return metadata - def remove_all(self): - self._remove_all(self, 'normal') - - def remove_all_ugly(self): - self._remove_all(self, 'ugly') def _remove_all(self, method): zipin = zipfile.ZipFile(self.filename, 'r') @@ -125,7 +125,7 @@ class TarStripper(GenericArchiveStripper): current_file.gname = '' return current_file - def remove_all(self): + def _remove_all(self, method): tarin = tarfile.open(self.filename, 'r' + self.compression) tarout = tarfile.open(self.filename + parser.POSTFIX, 'w' + self.compression) @@ -136,7 +136,10 @@ class TarStripper(GenericArchiveStripper): try: cfile = mat.create_class_file(current_file.name, False, self.add2archive) - cfile.remove_all() + if method is 'normal': + cfile.remove_all() + else: + cfile.remove_all_ugly() tarout.add(current_file.name, filter=self._remove) except: logging.info('%s\' format is not supported' % -- cgit v1.3