nu-scripts/invyt.nu

28 lines
566 B
Plaintext
Raw Normal View History

#!/usr/bin/env nu
2024-04-04 15:54:37 +02:00
def main [url: string, --return(-r)] {
let parsed_url = $url | url parse
2024-04-04 15:54:37 +02:00
let yt_url = if ($parsed_url.path | str contains '/watch') {
if $parsed_url.host != "youtube.com" {
$url | str replace $parsed_url.host "youtube.com"
} else {
$url
}
} else {
2024-04-04 15:54:37 +02:00
error make {
msg: "Not a YouTube/Invidious/Piped URL"
label: {
text: "Expects a YouTube/Invidious/Piped URL"
span: (metadata $url).span
}
}
}
match $return {
true => $yt_url
false => { yt-dlp --embed-chapters --embed-metadata --embed-subs $yt_url }
}
}