+# XXX other things should usue this; flac files, for example, should
+# get PART as part of the filelname, same as mp3s.
+class Tags(object):
+ def __init__(self):
+ self._tags = {}
+ def __len__(self):
+ return len(self._tags)
+ def get(self, key, track=None):
+ key = key.upper()
+ try:
+ if track == None:
+ return self._tags[None][key]
+ try:
+ return self._tags[track][key]
+ except KeyError:
+ return self._tags[None][key]
+ except KeyError:
+ return None
+ def gets(self, key, track=None):
+ value = self.get(key, track)
+ if value == None:
+ return None
+ return '\n'.join(value)
+ def set(self, key, value, track=None):
+ if track not in self._tags:
+ self._tags[track] = {}
+ if key not in self._tags[track]:
+ self._tags[track][key] = []
+ self._tags[track][key].append(value)
+