# Gapless support via comments "TIT1": "grouping", # Sorting "TSOA": "album sort order", "TSOT": "title sort order", "TSOP": "artist sort order", # Miscellaneous "TCOP": "copyright", "TPE3": "conductor", "TLEN": "length", "TEXT": "lyricist", "TENC": "encoder", "TSSE": "encoder settings", } norm_frame_mapping = dictionary_reverse(id3_frame_mapping) class ID3Tag(Tag): """The Tag implementation for ID3 tags""" def __init__(self, tag, lang="eng", encoding=encodings["utf-8"]): super(ID3Tag, self).__init__(tag) self.lang = lang if encoding in encodings: self.encoding = encodings[encoding] elif encoding <= 3 and encoding >= 0: self.encoding = encoding else: raise TagException("Encoding %s not supported by ID3" % encoding)
"\xa9grp": "grouping", # Sorting "soal": "album sort order", "sonm": "title sort order", "soaa": "album artist sort order", "soar": "artist sort order", "soco": "composer sort order", # Miscellaneous "\xa9cmt": "comment", "cprt": "copyright", "tvsh": "show", "purd": "purchased", "apID": "apple id", } norm_frame_mapping = dictionary_reverse(m4a_frame_mapping) class M4ATag(Tag): """The Tag implementation for m4a (iTunes) tags""" def _get_real_key(self, key): if key in norm_frame_mapping: return norm_frame_mapping[key] else: return key def _make_date_from_year(self, year): return "%s-01-01T07:00:00Z" % year def _get_year_from_date(self, date):