def load_similar_tracks(self, file_): """Perform search using existing metadata information from the file as query.""" self.retry_params = Retry(self.load_similar_tracks, file_) self.file_ = file_ metadata = file_.orig_metadata query = { 'track': metadata['title'], 'artist': metadata['artist'], 'release': metadata['album'], 'tnum': metadata['tracknumber'], 'tracks': metadata['totaltracks'], 'qdur': str(metadata.length // 2000), 'isrc': metadata['isrc'], } # Generate query to be displayed to the user (in search box). # If advanced query syntax setting is enabled by user, display query in # advanced syntax style. Otherwise display only track title. if self.use_advanced_search: query_str = ' '.join([ '%s:(%s)' % (item, escape_lucene_query(value)) for item, value in query.items() if value ]) else: query_str = query["track"] query["limit"] = QUERY_LIMIT self.search_box_text(query_str) self.show_progress() self.tagger.mb_api.find_tracks(self.handle_reply, **query)
def show_similar_albums(self, cluster): """Perform search by using existing metadata information from the cluster as query.""" self.retry_params = Retry(self.show_similar_albums, cluster) self.cluster = cluster metadata = cluster.metadata query = { "artist": metadata["albumartist"], "release": metadata["album"], "tracks": str(len(cluster.files)) } # Generate query to be displayed to the user (in search box). # If advanced query syntax setting is enabled by user, display query in # advanced syntax style. Otherwise display only album title. if self.use_advanced_search: query_str = ' '.join(['%s:(%s)' % (item, escape_lucene_query(value)) for item, value in query.items() if value]) else: query_str = query["release"] query["limit"] = QUERY_LIMIT self.search_box_text(query_str) self.show_progress() self.tagger.mb_api.find_releases( self.handle_reply, **query)
def search(self, text): self.retry_params = Retry(self.search, text) self.search_box_text(text) self.show_progress() self.tagger.mb_api.find_artists(self.handle_reply, query=text, search=True, limit=QUERY_LIMIT)
def search(self, text): """Perform search using query provided by the user.""" self.retry_params = Retry(self.search, text) self.search_box_text(text) self.show_progress() self.tagger.mb_api.find_tracks(self.handle_reply, query=text, search=True, limit=QUERY_LIMIT)