def cli_play(username, category, query): sys.stdout.write("Playing " + get_search_interp(username, category, query, 'play') + "\n") try: items = get_search_results(username, category, query) except (models.UserNotFoundError, models.TrackNotFoundError, models.PlaylistNotFoundError) as e: sys.stdout.write(e.args[0]) return if not len(items): sys.stdout.write("Nothing found. Exiting.") return if category == 'user': tracks = items[0].stream elif items[0]['kind'] == 'track': tracks = items else: tracks = items[0].tracks with Player() as player: player.load_tracks(tracks) player.run()
def do_search(self, line): try: username, category, query = parse_search_arguments(self.args) except Exception as e: sys.stdout.write("%s\n" % e) else: sys.stdout.write("Searching " + get_search_interp(username, category, query) + "\n") items = get_search_results(username, category, query) fmt = lambda x: u"{:<12} {}".format(*x) sys.stdout.write(u"\n".join(map(fmt, enumerate(items))) + "\n") self._search_cache = items return
def cli_play(username, category, query): sys.stdout.write("Playing " + get_search_interp(username, category, query, "play") + "\n") try: items = get_search_results(username, category, query) except (models.UserNotFoundError, models.TrackNotFoundError, models.PlaylistNotFoundError) as e: sys.stdout.write(e.args[0]) return if not len(items): sys.stdout.write("Nothing found. Exiting.") return if category == "user": tracks = items[0].stream elif items[0]["kind"] == "track": tracks = items else: tracks = items[0].tracks with Player() as player: player.load_tracks(tracks) player.run()
def cli_search(username, category, query): sys.stdout.write("Searching " + get_search_interp(username, category, query) + "\n") items = get_search_results(username, category, query) sys.stdout.write(u"\n".join([i.cli_display for i in items]))