瀏覽代碼

~/.bin/ydl.go: Fix youtube detection

Regular expressions are hard (or something).
Lu Stadler 7 年之前
父節點
當前提交
85ae2ff7b0
共有 1 個文件被更改,包括 9 次插入5 次删除
  1. 9 5
      .bin/ydl.go

+ 9 - 5
.bin/ydl.go

8
	"time"
8
	"time"
9
)
9
)
10
10
11
var isYoutube = regexp.MustCompile(`(www\.)youtube\.com|youtu\.be`)
11
var isYoutube = regexp.MustCompile(`(www\.)?youtube\.com|youtu\.be`)
12
12
13
func main() {
13
func main() {
14
	if len(os.Args) < 2 {
14
	if len(os.Args) < 2 {
27
	success := false
27
	success := false
28
	var err error
28
	var err error
29
	for i := 0; i < 5; i++ {
29
	for i := 0; i < 5; i++ {
30
		url := args[0]
31
		cmd := exec.Command("youtube-dl", "--no-mtime")
30
		cmd := exec.Command("youtube-dl", "--no-mtime")
32
		cmd.Stdin = os.Stdin
31
		cmd.Stdin = os.Stdin
33
		cmd.Stderr = os.Stderr
32
		cmd.Stderr = os.Stderr
34
		cmd.Stdout = os.Stdout
33
		cmd.Stdout = os.Stdout
35
34
36
		if isYoutube.MatchString(url) {
37
			// download youtube video in a lower resolution (saving bandwidth/space)
38
			cmd.Args = append(cmd.Args, "-f", "[height <=? 720]")
35
		for _, arg := range args {
36
			fmt.Println(arg, isYoutube.MatchString(arg))
37
			if isYoutube.MatchString(arg) {
38
				// download youtube video in a lower resolution (saving bandwidth/space)
39
				cmd.Args = append(cmd.Args, "-f", "[height <=? 720]")
40
41
				break
42
			}
39
		}
43
		}
40
44
41
		cmd.Args = append(cmd.Args, args...)
45
		cmd.Args = append(cmd.Args, args...)