From 933e339bee75329a68b7a0674c48b18ae57790cb Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Sat, 5 Oct 2019 13:56:36 +0530 Subject: [PATCH] Improve selection of media player Signed-off-by: Joseph Nuthalapati --- cli_tube.nim | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cli_tube.nim b/cli_tube.nim index ccf09ae..3ed32b0 100644 --- a/cli_tube.nim +++ b/cli_tube.nim @@ -17,11 +17,13 @@ let supportedPlayers = @["mpv", "mplayer", "vlc"] type SearchResult = tuple[title: string, url: string] -proc findSupportedPlayer(): string = - for player in supported_players: - let playerBin = execProcess("which " & player) - if playerBin.len != 0: - return strip(playerBin) +proc selectMediaPlayer(): string = + let availablePlayers = filterIt(supportedPlayers, execProcess("which " & it).len != 0) + if len(availablePlayers) == 0: + echo "Please install one of the supported media players: ", supportedPlayers + raise newException(OSError, "No supported media player found") + else: + return availablePlayers[0] proc getYoutubePage(searchQuery: string): string = let queryParam = encodeUrl(searchQuery) -- 2.43.0