def get_releases(track): """Retrieve musicbrainz release info from a track by fingerprinting Produces an iterable of possible releases in Album format from a Track. Queries the AcoustID database by finding the given Track's musicbrainz release ID, and then querying musicbrainz for that release. Uses the resulting information to construct an Album object for comparison. """ url = _build_query_url(track, 'releaseids') results = _build_results(url) print results for match in results['results']: for release in match['releases']: print(release) musicbrainz_album = musicbrainz._lookup_release_id(release['id']) tags_dict = musicbrainz.album_tags(musicbrainz_album) yield(Album(tags_dict))
def test__lookup_release_id(self, responses): ident = ('http://musicbrainz.org/release/' 'b52a8f31-b5ab-34e9-92f4-f5b7110220f0') release = musicbrainz._lookup_release_id(ident) assert self.same_mb_object(responses[ident], release)