Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
# Invidious instance for querying
# This instance should have a valid public API
# Check like this: curl https://invidious.xyz/api/v1/search\?q\=cats
-let invidiousInstance* = "https://invidious.kavin.rocks"
+let invidiousInstance* = "https://invidious.tube"
discard """"
Configuration goes through three levels of overrides:
import
httpClient,
json,
+ std/[terminal],
strformat,
strutils,
uri
let client = newHttpClient()
let response = get(client, &"{invidiousInstance}/api/v1/search?q={queryParam}")
let jsonData = parseJson($response.body)
+ if jsonData.kind == JObject: # Could be a 403 error
+ stdout.styledWrite(fgRed, $response.body)
+ quit(1)
+ if len(jsonData) == 0:
+ stdout.styledWrite(fgRed, "Got empty response from Invidious instance")
+ quit(2)
var searchResults: SearchResults = @[]
for item in jsonData:
if item["type"].getStr() == "video":