def loadMetadata(self): if getattr(self, 'metadata', None) is not None: return if getattr(self, 'id', None) is not None: self.metadata = type('info', (dict,), {})() self.metadata.update(MusicDatabase.getSongTags(self.id)) return self.loadFile(self._path) if self.metadata is None: raise Exception("Couldn't load metadata!")
def loadMetadata(self): if getattr(self, 'metadata', None) is not None: return if getattr(self, 'id', None) is not None: self.metadata = type('info', (dict, ), {})() self.metadata.update(MusicDatabase.getSongTags(self.id)) return self.loadFile(self._path) if self.metadata is None: raise Exception("Couldn't load metadata!")
def getSongMusicBrainzIDs(songid, tags=None): if not tags: tags = MusicDatabase.getSongTags(songid) artistids = getList(tags, convert_tag['musicbrainz_artistid']) albumartistids = getList(tags, convert_tag['musicbrainz_albumartistid']) workids = getList(tags, convert_tag['musicbrainz_workid']) releasegroupid = getValue(tags, convert_tag['musicbrainz_releasegroupid']) releaseid = getValue(tags, convert_tag['musicbrainz_releaseid']) releasetrackid = getValue(tags, convert_tag['musicbrainz_releasetrackid']) recordingid = getValue(tags, convert_tag['musicbrainz_recordingid']) try: confirmed = (tags.get('musicbrainzverified', [None])[0] == '1' or tags.get('uselabel', [None])[0] == '2' or tags.get('usebarcode', [None])[0] == '1') except KeyError: confirmed = False r = MBDataTuple(artistids, albumartistids, workids, releasegroupid, releaseid, releasetrackid, recordingid, confirmed) return r