]> njoseph.me Git - nimcoon.git/blobdiff - src/nimcoon.nim
"all" plays only visible results
[nimcoon.git] / src / nimcoon.nim
index 31a608894167d04f03b6ada6a388a2bb20cec64b..0624bad087bd69f6febc0f91b24082cf1445a79f 100644 (file)
@@ -32,7 +32,7 @@ proc parseArguments(): CommandLineOptions =
 
 proc isValidOptions*(options: Options): bool =
   # Check for invalid combinations of options
-  var invalidCombinations = [("musicOnly", "fullScreen")]
+  var invalidCombinations = [("musicOnly", "fullScreen"), ("download", "fullScreen")]
   for combination in invalidCombinations:
     if options[combination[0]] and options[combination[1]]:
      stderr.writeLine fmt"Incompatible options provided: {combination[0]} and {combination[1]}"
@@ -50,9 +50,9 @@ proc main() =
 
   if searchQuery.startswith("https:") or searchQuery.startswith("magnet:"):
     if options["download"]:
-      directDownload(sanitizeURL(searchQuery))
+      directDownload(sanitizeURL(searchQuery), options["musicOnly"])
     else:
-      directPlay(sanitizeURL(searchQuery), player)
+      directPlay(sanitizeURL(searchQuery), player, options["musicOnly"])
     quit(0)
 
   let searchResults = extractTitlesAndUrls(getYoutubePage(searchQuery))
@@ -85,7 +85,7 @@ proc main() =
     let userInput = getUserInput()
 
     if userInput == "all":
-      for number in 0..(len(searchResults)):
+      for number in 0..(limit-1): # Nim decided to deviate from Python ranges here
         # TODO `spawn` this?
         handleUserInput(number)