From: Joseph Nuthalapati Date: Sat, 5 Oct 2019 08:26:36 +0000 (+0530) Subject: Improve selection of media player X-Git-Tag: 0.1.0~64 X-Git-Url: https://njoseph.me/gitweb/nimcoon.git/commitdiff_plain/933e339bee75329a68b7a0674c48b18ae57790cb Improve selection of media player Signed-off-by: Joseph Nuthalapati --- 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)