Remove album from picard if the track for which more results lookup
was performed, was the only track in it. Otherwise load the new
album without removing existing one.
* Sort the search results according to similarity measured by
`metadata.compare_to_tracks`.
* Display results above the threshold only.
* Return list in case there is no release (in metadata.py).
Rather than returning the best matched release for a track, return
a reverse sorted list containing all releases of a track in order.
This method can then be re used with the search dialog.
Other than that:
* self.selected_object isn't required. Selected track can be
looked up in self.search_results using index from selected row.
* `tracks` should be an empty list rather than None. To avoid type
mismatch/unable to iterate.
* Separate method to parse search results, to reduce complexity
a bit.
* Two more columns, Date and Country added in results table, to
contrast difference between two tracks.
* Secondary type included in Type column.
* Search results are sorted using similarity factor returned by
`compare_to_track` method in `Metadata` class.
* Only use track from tuple returned by `compare_to_track`. Reason
being `compare_to_track` selects only best matched release from
the release_list associated with a track. For showing more results
each of those release are needed. These are extracted from the
`tracks` later.
To view all recordings, right click on Track object and select
"Display more results". Results can't be loaded into Picard as
for now.
What's not working:
* Search dialog is throwing exceptions sometimes, specifically
AttributeError.
* Release type is left for now.
On redirect, https urls without specified port defaults to port 80 causing an infinite redirect loop.
There are more issues:
* redirect 301 should be cached by Picard (it is handled as a 302 for now)
* the current handling of schemes (http vs https) and ports (80 vs 443 vs user-defined port) is quite messy
* this kind of infinite loop is not detected by Picard