github.com/zhaojunlike/grab@v2.0.1+incompatible/cmd/grab/main.go (about) 1 package main 2 3 import ( 4 "context" 5 "fmt" 6 "os" 7 8 "github.com/cavaliercoder/grab/grabui" 9 ) 10 11 func main() { 12 // validate command args 13 if len(os.Args) < 2 { 14 fmt.Fprintf(os.Stderr, "usage: %s url...\n", os.Args[0]) 15 os.Exit(1) 16 } 17 urls := os.Args[1:] 18 19 // download files 20 respch, err := grabui.GetBatch(context.Background(), 0, ".", urls...) 21 if err != nil { 22 fmt.Fprint(os.Stderr, err) 23 os.Exit(1) 24 } 25 26 // return the number of failed downloads as exit code 27 failed := 0 28 for resp := range respch { 29 if resp.Err() != nil { 30 failed++ 31 } 32 } 33 os.Exit(failed) 34 }