|
|
@ -42,6 +42,13 @@ func main() {
|
|
42
|
42
|
switch cmd {
|
|
43
|
43
|
case "fetch-all":
|
|
44
|
44
|
FetchAll()
|
|
|
45
|
case "fetch-one":
|
|
|
46
|
if len(flag.Args()) != 1 {
|
|
|
47
|
fmt.Printf("Usage: %s [<options>] fetch-one <url>\n", os.Args[0])
|
|
|
48
|
os.Exit(1)
|
|
|
49
|
}
|
|
|
50
|
|
|
|
51
|
FetchOne(flag.Args()[0])
|
|
45
|
52
|
case "help":
|
|
46
|
53
|
printUsage()
|
|
47
|
54
|
flag.PrintDefaults()
|
|
|
@ -60,6 +67,23 @@ func printUsage() {
|
|
60
|
67
|
fmt.Printf("Usage: %s [<options>] <cmd> [<args>]\n", os.Args[0])
|
|
61
|
68
|
}
|
|
62
|
69
|
|
|
|
70
|
func FetchOne(u string) {
|
|
|
71
|
f, err := Fetch(u)
|
|
|
72
|
if err != nil {
|
|
|
73
|
fmt.Println(err)
|
|
|
74
|
os.Exit(1)
|
|
|
75
|
}
|
|
|
76
|
|
|
|
77
|
fmt.Printf("%s: %s", u, f.Title)
|
|
|
78
|
if strings.TrimSpace(f.Description) != "" {
|
|
|
79
|
fmt.Printf(" - %s", f.Description)
|
|
|
80
|
}
|
|
|
81
|
fmt.Printf(" (%d entries)\n", len(f.Items))
|
|
|
82
|
for _, item := range f.Items {
|
|
|
83
|
fmt.Printf("\t%s\n", item.Title)
|
|
|
84
|
}
|
|
|
85
|
}
|
|
|
86
|
|
|
63
|
87
|
func FetchAll() {
|
|
64
|
88
|
feeds, err := ReadConfig("config.txt")
|
|
65
|
89
|
if err != nil {
|