def updateFromRelease(self, release, track): """ Update the given Track with loaded values :param release: Release :param track: Track :return: """ try: tags = mutagenID3(self.filename) except ID3NoHeaderError: tags = mutagenID3() tags["TIT2"] = TIT2(encoding=3, text=track.title) tags["TALB"] = TALB(encoding=3, text=release.title) if track.artist: tags["TPE2"] = TPE2(encoding=3, text=release.artist.name) tags["TPE1"] = TPE1(encoding=3, text=track.artist.name) else: tags["TPE1"] = TPE1(encoding=3, text=release.artist.name) tags["TRCK"] = TRCK(encoding=3, text=str(track.trackNumber)) if release.releaseDate: year = release.releaseDate.strftime('%Y') if year: tags["TDRC"] = TDRC(encoding=3, text=year) if self.config: if 'DoClearComments' in self.config: if self.config['DoClearComments'].lower() == "true": tags.delall(u"COMM::'en'") tags.save(self.filename)
def __init__(self, filename=None): self.__id3 = mutagenID3() self.load = self.__id3.load self.save = self.__id3.save self.delete = self.__id3.delete if filename is not None: self.load(filename)
def setCoverImage(self, image): try: tags = mutagenID3(self.filename) except ID3NoHeaderError: tags = mutagenID3() if self.config: if 'DoClearComments' in self.config: if self.config['DoClearComments'].lower() == "true": tags.delall(u"COMM::'en'") tags.delall(u"APIC::'en'") tags.add(APIC( encoding=3, mime='image/jpeg', type=3, desc=u'Cover', data=image )) tags.save(self.filename, v2_version=3) # this is for Windows Media Player compatibility
def updateFromTrack(self, track): """ Update the ID3 Track with the given Track values :param track: Track :return: """ try: tags = mutagenID3(self.filename) except ID3NoHeaderError: tags = mutagenID3() tags["TIT2"] = TIT2(encoding=3, text=track.title) if track.artist: tags["TPE1"] = TPE1(encoding=3, text=track.artist.name) tags["TRCK"] = TRCK(encoding=3, text=str(track.trackNumber)) if self.config: if 'DoClearComments' in self.config: if self.config['DoClearComments'].lower() == "true": tags.delall(u"COMM::'en'") tags.save(self.filename)