'Returns songs matching a query best as possible on either artist
field, etc'

def fuzzy_songs(self, query):

    query = query.upper()
    matched_song_titles = difflib.get_close_matches(query, self.song_titles)
    matched_song_artists = difflib.get_close_matches(query, self.song_artists)
    strict_priority_title = [x for x in matched_song_titles if (x == query)]
    strict_priority_artists = [x for x in matched_song_artists if (x == query)]
    if strict_priority_title:
        matched_song_titles = strict_priority_title
    if strict_priority_artists:
        matched_song_artists = strict_priority_artists
    matched_songs_bytitle = [song for song in self.songs if (song.title in matched_song_titles)]
    matched_songs_byartist = [song for song in self.songs if (song.artist in matched_song_artists)]
    matches = list(set((matched_songs_bytitle + matched_songs_byartist)))
    return matches
