From 6ba433e3b1ed02b9f7ece2e5b06a4fae021ed3b9 Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Wed, 13 Apr 2011 21:33:37 -0700 Subject: [PATCH] fix track query syntax It turns out the documentation for MB was wrong here: http://wiki.musicbrainz.org/XMLWebService#Searching_Tracks At the time that I read it, at least, that said the field for track title was named "title". It's actually named "track". --- beets/autotag/mb.py | 7 ++++++- beetsplug/lastid.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/beets/autotag/mb.py b/beets/autotag/mb.py index 86cf2eea4..d5ee7007d 100644 --- a/beets/autotag/mb.py +++ b/beets/autotag/mb.py @@ -23,6 +23,7 @@ principal interface is the function `match_album`. from __future__ import with_statement # for Python 2.5 import re import time +import logging import musicbrainz2.webservice as mbws from musicbrainz2.model import Release from threading import Lock @@ -33,6 +34,8 @@ VARIOUS_ARTISTS_ID = VARIOUS_ARTISTS_ID.rsplit('/', 1)[1] class ServerBusyError(Exception): pass +log = logging.getLogger('beets') + # We hard-code IDs for artists that can't easily be searched for. SPECIAL_CASE_ARTISTS = { '!!!': 'f26c72d3-e52c-467b-b651-679c73d8e1a7', @@ -164,6 +167,7 @@ def find_releases(criteria, limit=SEARCH_LIMIT): # Build the filter and send the query. query = _lucene_query(criteria) + log.debug('album query: %s' % query) return get_releases(limit=limit, query=query) def find_tracks(criteria, limit=SEARCH_LIMIT): @@ -172,6 +176,7 @@ def find_tracks(criteria, limit=SEARCH_LIMIT): `find_releases`. """ query = _lucene_query(criteria) + log.debug('track query: %s' % query) filt = mbws.TrackFilter(limit=limit, query=query) results = _query_wrap(mbws.Query().getTracks, filter=filt) for result in results: @@ -263,7 +268,7 @@ def match_track(artist, title): """ return find_tracks({ 'artist': artist, - 'title': title, + 'track': title, }) def album_for_id(albumid): diff --git a/beetsplug/lastid.py b/beetsplug/lastid.py index c5e77d490..e8b95a182 100644 --- a/beetsplug/lastid.py +++ b/beetsplug/lastid.py @@ -157,7 +157,7 @@ class LastIdPlugin(BeetsPlugin): # Do a full search. criteria = { 'artist': last_data['artist'], - 'title': last_data['title'], + 'track': last_data['title'], } if last_data['artist_mbid']: criteria['artistid'] = last_data['artist_mbid']