summaryrefslogtreecommitdiff
path: root/MAT/mutagenpowered.py
diff options
context:
space:
mode:
authorjvoisin2013-03-06 13:11:14 +0100
committerjvoisin2013-03-06 13:11:14 +0100
commit2ab50a6e764cf71bfdc831dfaa80887e8f8cb3ef (patch)
treef3255f854c3bffd09affeafb1a9d6eaad29600dd /MAT/mutagenpowered.py
parent8427e8f4aff71a40ea6ba920608c38edd7ee6905 (diff)
Heavy refactoring of mutagen-powered formats
Diffstat (limited to 'MAT/mutagenpowered.py')
-rw-r--r--MAT/mutagenpowered.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/MAT/mutagenpowered.py b/MAT/mutagenpowered.py
new file mode 100644
index 0000000..d44bbdb
--- /dev/null
+++ b/MAT/mutagenpowered.py
@@ -0,0 +1,35 @@
1import parser
2import shutil
3
4
5class MutagenStripper(parser.GenericParser):
6 def __init__(self, filename, parser, mime, backup, **kwargs):
7 super(MutagenStripper, self).__init__(filename, parser, mime, backup, **kwargs)
8 self._create_mfile()
9
10 def _create_mfile(self):
11 raise NotImplemented
12
13 def is_clean(self):
14 return not self.mfile.tags
15
16 def remove_all(self):
17 if self.backup:
18 shutil.copy2(self.filename, self.output)
19 self.mfile.filename = self.output
20 else:
21 self.mfile.filename = self.filename
22
23 self.mfile.delete()
24 self.mfile.save()
25 return True
26
27 def get_meta(self):
28 '''
29 Return the content of the metadata block is present
30 '''
31 metadata = {}
32 if self.mfile.tags:
33 for key, value in self.mfile.tags:
34 metadata[key] = value
35 return metadata