X-Git-Url: https://njoseph.me/gitweb/nimcoon.git/blobdiff_plain/3c20e75c565cd0d0eb73ca8060c22bf557aeab89..46817cb7cbd9bd6b24e92ed9e292c62ce20d20ac:/nimcoon.nim diff --git a/nimcoon.nim b/nimcoon.nim index f69813d..cea1797 100644 --- a/nimcoon.nim +++ b/nimcoon.nim @@ -1,7 +1,6 @@ import htmlparser, httpClient, - logging, parseopt, osproc, sequtils, @@ -13,15 +12,12 @@ import uri, xmltree -import preferences +import config 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: @@ -67,16 +63,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 @@ -97,18 +92,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("--no-video") + args.add("--no-video") if fullScreen: - if player == "cvlc": - command.add("--fullscreen") - if player == "mpv": - command.add("--fs") + args.add("--fullscreen") # Play the video using the preferred/available media player - play(command.join(" ")) + play(player, args) main()