Files
newsboat-yt/download/download.go
Michael Lehmann 91228a0a5e .
2025-06-28 22:56:28 +02:00

35 lines
710 B
Go

package download
import (
"errors"
"fmt"
"kattudden/newsboat-yt/config"
"kattudden/newsboat-yt/utils"
"os/exec"
)
func YoutubeVideo(url string) error {
conf, _ := config.New()
err := utils.EnsureDirectory(conf.DownloadPath)
if err != nil {
return errors.New("failed to create download directory!")
}
downloadBinary := "yt-dlp"
output := fmt.Sprintf("%s/%%(title)s.%%(ext)s", conf.DownloadPath)
args := []string{"-S", "filesize~100M", "-f", "bv+(ba[format_note*=original]/ba)", "-o", output, url}
cmd := exec.Command(downloadBinary, args...)
fmt.Println(cmd.String())
err = cmd.Run()
if err != nil {
fmt.Println(err)
return errors.New("failed to download video!")
}
return nil
}