From e0702a70437eea543aaa51264272dcbc3d652779 Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Sat, 7 Apr 2018 09:24:06 -0700 Subject: opml export --- main.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 34bb869..b7aefb3 100644 --- a/main.go +++ b/main.go @@ -7,12 +7,13 @@ import ( "adammathes.com/neko/models/feed" "adammathes.com/neko/vlog" "adammathes.com/neko/web" + "encoding/xml" "fmt" flag "github.com/ogier/pflag" ) func main() { - var serve, update, verbose, printFeeds bool + var serve, update, verbose, printFeeds, opml bool var configFile, newFeed string flag.StringVarP(&configFile, "config", "c", "config.json", "`configuration` file") @@ -20,11 +21,12 @@ func main() { flag.BoolVarP(&serve, "serve", "s", false, "run http server") flag.BoolVarP(&verbose, "verbose", "v", false, "verbose output") flag.BoolVarP(&printFeeds, "feeds", "f", false, "list all currently crawled feeds") + flag.BoolVarP(&opml, "opml", "o", false, "export feed list as opml") flag.StringVarP(&newFeed, "add", "a", "", "add the feed at URL `http://example.com/rss.xml`") flag.Parse() // no command - if !update && !serve && !printFeeds && newFeed == "" { + if !update && !serve && !printFeeds && !opml && newFeed == "" { flag.Usage() return } @@ -52,4 +54,14 @@ func main() { fmt.Printf("%s\n", f.Url) } } + if opml { + feeds, _ := feed.All() + fmt.Printf(`neko feeds`) + fmt.Printf("\n") + for _, f := range feeds { + b, _ := xml.Marshal(f) + fmt.Printf("%s\n", string(b)) + } + fmt.Printf(``) + } } -- cgit v1.2.3