X-Git-Url: https://njoseph.me/gitweb/nimcoon.git/blobdiff_plain/4827df7ac6cc2b6cbc55894f95509c2c6a26c095..91e4d88b77e2bcdbf858565b9eb9378682bdbaca:/clitube.nim diff --git a/clitube.nim b/clitube.nim index 3714c13..50a3f67 100644 --- a/clitube.nim +++ b/clitube.nim @@ -42,6 +42,7 @@ let player = selectMediaPlayer() var searchQuery = "" var musicOnly = false +var feelingLucky = false for kind, key, value in getopt(): case kind @@ -50,10 +51,10 @@ for kind, key, value in getopt(): of cmdShortOption, cmdLongOption: case key of "m", "music": musicOnly = true + of "l", "lucky": feelingLucky = true of cmdEnd: discard -let noVideo = if musicOnly: "--no-video" else: "" if "https://www.youtube.com" in searchQuery: discard execProcess(&"{player} {searchQuery}") @@ -62,12 +63,20 @@ if "https://www.youtube.com" in searchQuery: let searchResults = extractTitlesAndUrls(getYoutubePage(searchQuery)) -presentVideoOptions(searchResults) - -stdout.styledWrite(fgYellow, "Choose video number: ") -let number = parseInt(readLine(stdin)) +let number = + if feelingLucky: + 0 + else: + presentVideoOptions(searchResults) + stdout.styledWrite(fgYellow, "Choose video number: ") + parseInt(readLine(stdin)) styledEcho "\n", fgGreen, "Playing ", styleBright, fgMagenta, searchResults[number].title +var command = @[player, searchResults[number].url] + +if musicOnly: + command.add("--no-video") + # Play the video using the preferred/available media player -discard execProcess(&"{player} {noVideo} {searchResults[number].url}") +discard execProcess(command.join(" "))