def handle_reply(self, document, http, error): if error: self.network_error(http, error) return try: tracks = document['recordings'] except (KeyError, TypeError): self.no_results_found() return if self.file_: metadata = self.file_.orig_metadata def candidates(): for track in tracks: yield metadata.compare_to_track(track, File.comparison_weights) tracks = [ result.track for result in sort_by_similarity(candidates) ] del self.search_results[:] # Clear existing data self.parse_tracks(tracks) self.display_results()
def handle_reply(self, document, http, error): if error: self.network_error(http, error) return try: tracks = document['recordings'] except (KeyError, TypeError): self.no_results_found() return if self.file_: metadata = self.file_.orig_metadata def candidates(): for track in tracks: yield metadata.compare_to_track(track, File.comparison_weights) tracks = [result.track for result in sort_by_similarity(candidates)] del self.search_results[:] # Clear existing data self.parse_tracks(tracks) self.display_results()
def test_sort_by_similarity(self): results = [ result.name for result in sort_by_similarity(self.candidates) ] self.assertEqual(results, ['b', 'c', 'd', 'a'])
def test_sort_by_similarity(self): results = [result.name for result in sort_by_similarity(self.candidates)] self.assertEqual(results, ['b', 'c', 'd', 'a'])