@staticmethod
    def manual_tiebreak(query, results):
        """Prompts a user to choose a result from multiple.
        For use with query_library as a tiebreaker.
        Returns a singleton list or None.

        :param query: the original query.
        :param results: list of results.
        """

        print()
        print("Manual tiebreak for query:")
        print(build_query_rep(query).encode('utf-8'))
        print()
        print("Enter the number next to your choice:")
        print()
        print("0: None of these.")

        menu_lines = []
        key = 1

        for song in results:
            menu_lines.append(
                str(key) +
                ": " +
                build_song_rep(song).encode('utf-8'))

            key += 1

        print("\n".join(menu_lines))

        choice = -1

        while not (0 <= choice <= len(results)):
            try:
                choice = int(input("Choice: "))
            except ValueError:
                pass

        return None if choice == 0 else [results[choice - 1]]

    # Tiebreaker which does nothing with results.
dataset/ETHPy150Open simon-weber/gmusicapi/gmusicapi/gmtools/tools.py/SongMatcher.manual_tiebreak/original