From aaeaf00b0276e4eee8355c223ca668be7dfe2ee0 Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Fri, 10 Jan 2020 23:57:42 +0530 Subject: [PATCH] Better use of execProcess options Signed-off-by: Joseph Nuthalapati --- .gitlab-ci.yml | 2 +- nimcoon.nim | 23 +++++++++-------------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7597d89..727e2f2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,7 +6,7 @@ stages: compile: stage: build script: - - nim c -d:ssl -d:release nimcoon.nim + - nim c -d:ssl -d:release nimcoon.nim && strip nimcoon artifacts: paths: - nimcoon diff --git a/nimcoon.nim b/nimcoon.nim index c838b34..f47b249 100644 --- a/nimcoon.nim +++ b/nimcoon.nim @@ -1,7 +1,6 @@ import htmlparser, httpClient, - logging, parseopt, osproc, sequtils, @@ -20,9 +19,6 @@ type SearchResult = tuple[title: string, url: string] CommandLineOptions = tuple[searchQuery: string, musicOnly: bool, feelingLucky: bool, fullScreen: bool] -let logger = newConsoleLogger() -setLogFilter(lvlInfo) - proc selectMediaPlayer(): string = let availablePlayers = filterIt(supportedPlayers, execProcess("which " & it).len != 0) if len(availablePlayers) == 0: @@ -68,16 +64,15 @@ proc presentVideoOptions(searchResults: seq[SearchResult]) = for index, (title, url) in searchResults: styledEcho $index, ". ", styleBright, fgMagenta, title, "\n", resetStyle, fgCyan, url, "\n" -proc play(command: string) = - logger.log(lvlDebug, &"Executing: ${command}") - discard execProcess(command) +proc play(player: string, args: openArray[string]) = + discard execProcess(player, args=args, options={poStdErrToStdOut, poUsePath, poEchoCmd}) quit(0) proc directPlay(searchQuery: string, player: string) = - if "watch?" in searchQuery or "videos/watch" in searchQuery : - play(&"{player} {searchQuery}") + if "watch?" in searchQuery or "videos/watch" in searchQuery: + play(player, args=[searchQuery]) elif searchQuery.startswith("magnet:"): - play(&"peerflix \"{searchQuery}\" --{player}") + play("peerflix", args=[searchQuery, &"--{player}"]) proc main() = let @@ -98,15 +93,15 @@ proc main() = styledEcho "\n", fgGreen, "Playing ", styleBright, fgMagenta, searchResults[number].title - var command = @[player, searchResults[number].url] + var args = @[searchResults[number].url] if musicOnly: - command.add(playerOptions[player]["musicOnly"]) + args.add(playerOptions[player]["musicOnly"]) if fullScreen: - command.add(playerOptions[player]["fullScreen"]) + args.add(playerOptions[player]["fullScreen"]) # Play the video using the preferred/available media player - play(command.join(" ")) + play(player, args) main() -- 2.43.0