package download

import (
	"errors"
	"fmt"
	"kattudden/newsboat-yt/config"
	"os/exec"
)

func YoutubeVideo(url string) error {
	conf, _ := config.New()

	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
}
