diff --git a/libmat2/abstract.py b/libmat2/abstract.py index 8861966235869b2c8b9e11edf0eb2fcfc27d0477..4110e5b6f7b28f50620ecd15b160dc43ef7be131 100644 --- a/libmat2/abstract.py +++ b/libmat2/abstract.py @@ -13,6 +13,7 @@ class AbstractParser(abc.ABC): """ meta_list = set() # type: Set[str] mimetypes = set() # type: Set[str] + suffix = '.original' def __init__(self, filename: str) -> None: """ @@ -24,23 +25,20 @@ class AbstractParser(abc.ABC): filename = os.path.join('.', filename) self.filename = filename - fname, extension = os.path.splitext(filename) + self.output_filename = filename - # Special case for tar.gz, tar.bz2, … files - if fname.endswith('.tar') and len(fname) > 4: - fname, extension = fname[:-4], '.tar' + extension - - self.output_filename = fname + '.cleaned' + extension self.lightweight_cleaning = False @abc.abstractmethod def get_meta(self) -> Dict[str, Union[str, dict]]: """Return all the metadata of the current file""" - @abc.abstractmethod def remove_all(self) -> bool: """ Remove all the metadata of the current file :raises RuntimeError: Raised if the cleaning process went wrong. """ + self.output_filename = self.filename + self.filename = self.filename + self.suffix + os.rename(filename, filename + self.suffix)