From f135dfc783fc99d55b9d350ca6086f9f2b400e59 Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Sat, 14 Dec 2019 18:59:07 +0530 Subject: [PATCH] Add option to feel lucky! - Skip selection prompt and play the first result Signed-off-by: Joseph Nuthalapati --- README.md | 10 +++++++--- clitube.nim | 13 +++++++++---- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index bcf6ffd..c0e53e4 100644 --- a/README.md +++ b/README.md @@ -45,13 +45,17 @@ clitube emacs # If your search query has multiple words, use quotes clitube 'nim lang' + +# Advanced: Play audio of the first search result +clitube -m -l "counting stars" ``` ### Commandline arguments -| **Arguments** | **Explanation** | -|----------------|---------------------------| -| -m, --music | Play Music only, no video | +| **Arguments** | **Explanation** | +|---------------|--------------------------------------------| +| -m, --music | Play Music only, no video | +| -l, --lucky | Try your luck with the first search result | ## Development diff --git a/clitube.nim b/clitube.nim index a964291..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,6 +51,7 @@ for kind, key, value in getopt(): of cmdShortOption, cmdLongOption: case key of "m", "music": musicOnly = true + of "l", "lucky": feelingLucky = true of cmdEnd: discard @@ -61,10 +63,13 @@ 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 -- 2.43.0