This commit is contained in:
Mattias Wadman
2019-07-22 09:08:59 +02:00
commit 88fc6c8d7a
9 changed files with 776 additions and 0 deletions

47
cmd/goutubedl/main.go Normal file
View File

@ -0,0 +1,47 @@
package main
import (
"context"
"encoding/json"
"flag"
"io"
"log"
"os"
"github.com/wader/goutubedl"
)
var dumpFlag = flag.Bool("J", false, "Dump JSON")
func main() {
log.SetFlags(0)
flag.Parse()
result, err := goutubedl.New(context.Background(), flag.Arg(0), goutubedl.Options{})
if err != nil {
log.Fatal(err)
}
if *dumpFlag {
json.NewEncoder(os.Stdout).Encode(result.Info)
return
}
filter := flag.Arg(1)
if filter == "" {
filter = "best"
}
dr, err := result.Download(context.Background(), filter)
if err != nil {
log.Fatal(err)
}
f, err := os.Create(filter)
if err != nil {
log.Fatal(err)
}
defer f.Close()
io.Copy(f, dr)
dr.Close()
}