X-Git-Url: https://njoseph.me/gitweb/nimcoon.git/blobdiff_plain/55b0cae73065832a9bce15e7921822fa4172684e..e08e5cbe091074b7cd05bfe131edb2af70b26bc9:/src/nimcoon.nim diff --git a/src/nimcoon.nim b/src/nimcoon.nim index 20b9280..f3b29c6 100644 --- a/src/nimcoon.nim +++ b/src/nimcoon.nim @@ -4,8 +4,11 @@ import strutils, tables -import config -import lib +import + config, + lib, + types, + youtube proc parseArguments(): CommandLineOptions = @@ -31,11 +34,11 @@ proc parseArguments(): CommandLineOptions = proc isValidOptions*(options: Options): bool = # Check for invalid combinations of options var invalidCombinations = [("musicOnly", "fullScreen"), ("download", "fullScreen")] + result = true for combination in invalidCombinations: if options[combination[0]] and options[combination[1]]: stderr.writeLine fmt"Incompatible options provided: {combination[0]} and {combination[1]}" - return false - true + result = false proc main() = let @@ -45,16 +48,17 @@ proc main() = if(not isValidOptions(options)): quit(1) - if searchQuery.startswith("https:") or searchQuery.startswith("magnet:"): + if searchQuery.startswith("http") or searchQuery.startswith("magnet"): if options["download"]: directDownload(sanitizeURL(searchQuery), options["musicOnly"]) else: directPlay(sanitizeURL(searchQuery), player, options) quit(0) - let searchResults = extractTitlesAndUrls(getYoutubePage(searchQuery)) + let searchResults = getSearchResults(searchQuery) + let numResults = min(limit, len(searchResults)) - present(searchResults, options, (0, limit-1), player) + present(searchResults, options, (0, numResults-1), player) when isMainModule: