summaryrefslogtreecommitdiff
path: root/libmat/mutagenstripper.py
blob: be891788ae2bd1284b578fac0ed86ba12b7916f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
""" Take care of mutagen-supported formats (audio)
"""

import parser


class MutagenStripper(parser.GenericParser):
    def __init__(self, filename, parser, mime, backup, is_writable, **kwargs):
        super(MutagenStripper, self).__init__(filename, parser, mime, backup, is_writable, **kwargs)
        self._create_mfile()

    def _create_mfile(self):
        raise NotImplementedError

    def is_clean(self):
        return not self.mfile.tags

    def remove_all(self):
        if self.backup:
            self.create_backup_copy()
        self.mfile.delete()
        self.mfile.save()
        return True

    def get_meta(self):
        """
            Return the content of the metadata block is present
        """
        metadata = {}
        if self.mfile.tags:
            for key, value in self.mfile.tags:
                metadata[key] = value
        return metadata