diff options
Diffstat (limited to 'lib/archive.py')
| -rw-r--r-- | lib/archive.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/archive.py b/lib/archive.py index 446e493..17b56c3 100644 --- a/lib/archive.py +++ b/lib/archive.py | |||
| @@ -2,7 +2,7 @@ import tarfile | |||
| 2 | import sys | 2 | import sys |
| 3 | import parser | 3 | import parser |
| 4 | import mat | 4 | import mat |
| 5 | import shutil | 5 | import os |
| 6 | 6 | ||
| 7 | class TarStripper(parser.Generic_parser): | 7 | class TarStripper(parser.Generic_parser): |
| 8 | def __init__(self, realname, filename, parser, editor, backup): | 8 | def __init__(self, realname, filename, parser, editor, backup): |
| @@ -13,6 +13,7 @@ class TarStripper(parser.Generic_parser): | |||
| 13 | self.folder_list = [] | 13 | self.folder_list = [] |
| 14 | 14 | ||
| 15 | def remove_all(self): | 15 | def remove_all(self): |
| 16 | self.tarin = tarfile.open(self.filename, 'r' + self.compression) | ||
| 16 | self.tarout = tarfile.open(self.filename + parser.POSTFIX, | 17 | self.tarout = tarfile.open(self.filename + parser.POSTFIX, |
| 17 | 'w' + self.compression) | 18 | 'w' + self.compression) |
| 18 | for current_file in self.tarin.getmembers(): | 19 | for current_file in self.tarin.getmembers(): |
| @@ -35,7 +36,12 @@ class TarStripper(parser.Generic_parser): | |||
| 35 | self.tarout.close() | 36 | self.tarout.close() |
| 36 | self.tarin.close() | 37 | self.tarin.close() |
| 37 | 38 | ||
| 39 | if self.backup is False: | ||
| 40 | mat.secure_remove(self.filename) | ||
| 41 | os.rename(self.filename + parser.POSTFIX, self.filename) | ||
| 42 | |||
| 38 | def is_clean(self): | 43 | def is_clean(self): |
| 44 | self.tarin = tarfile.open(self.filename, 'r' + self.compression) | ||
| 39 | for current_file in self.tarin.getmembers(): | 45 | for current_file in self.tarin.getmembers(): |
| 40 | self.tarin.extract(current_file) | 46 | self.tarin.extract(current_file) |
| 41 | if current_file.type is '0': #is current_file a regular file ? | 47 | if current_file.type is '0': #is current_file a regular file ? |
