X-Git-Url: https://njoseph.me/gitweb/nimcoon.git/blobdiff_plain/0266d1d4c934aa9e29769dcb0d5e3d21bda282cd..a2d28598f44142969997ae56f6bd684c54d95e0b:/src/lib.nim diff --git a/src/lib.nim b/src/lib.nim index 16082c5..33b15d9 100644 --- a/src/lib.nim +++ b/src/lib.nim @@ -16,7 +16,7 @@ import let - processOptions = {poStdErrToStdOut, poUsePath} # poEchoCmd can be added to options for debugging + processOptions = {poStdErrToStdOut, poUsePath, poEchoCmd} PEERTUBE_REGEX = re"videos\/watch\/[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}" @@ -49,6 +49,7 @@ proc presentVideoOptions*(searchResults: SearchResults) = for index, (title, url) in searchResults: styledEcho $index, ". ", styleBright, fgMagenta, title, "\n", resetStyle, fgCyan, " ", url, "\n" + func buildPlayerArgs(url: string, options: Table[string, bool], player: string): seq[string] = let musicOnly = if options["musicOnly"]: "--no-video" else: "" let fullScreen = if options["fullScreen"]: "--fullscreen" else: "" @@ -62,7 +63,7 @@ proc play*(player: string, options: Table[string, bool], url: string, title: str if "--no-video" in args: discard execShellCmd(&"{player} {args.join(\" \")}") else: - discard startProcess(player, args=args, options=processOptions) + discard execProcess(player, args=args, options=processOptions) func buildMusicDownloadArgs(url: string): seq[string] = @@ -86,9 +87,11 @@ proc download*(args: openArray[string], title: string) = func urlLongen(url: string): string = url.replace("youtu.be/", "www.youtube.com/watch?v=") -func rewriteInvidiousToYouTube(url: string): string = +func rewriteInvidiousToYouTube*(url: string): string = {.noSideEffect.}: - if rewriteInvidiousURLs: url.replace("invidio.us", "www.youtube.com") else: url + if rewriteInvidiousURLs and url.replace(".", "").contains("invidious"): + &"https://www.youtube.com/watch?v={url.split(\"=\")[1]}" + else: url func stripZshEscaping(url: string): string = url.replace("\\", "")