Просмотр исходного кода

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

Regular expressions are hard (or something).
Lu Stadler лет назад: 7
Родитель
Сommit
85ae2ff7b0
1 измененных файлов с 9 добавлено и 5 удалено
  1. 9 5
      .bin/ydl.go

+ 9 - 5
.bin/ydl.go

@ -8,7 +8,7 @@ import (
8 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 13
func main() {
14 14
	if len(os.Args) < 2 {
@ -27,15 +27,19 @@ func main() {
27 27
	success := false
28 28
	var err error
29 29
	for i := 0; i < 5; i++ {
30
		url := args[0]
31 30
		cmd := exec.Command("youtube-dl", "--no-mtime")
32 31
		cmd.Stdin = os.Stdin
33 32
		cmd.Stderr = os.Stderr
34 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 45
		cmd.Args = append(cmd.Args, args...)