]> Sergey Matveev's repositories - linksexp.git/blobdiff - main.go
urls export support
[linksexp.git] / main.go
diff --git a/main.go b/main.go
index 0657c0a12783583a30ffd98c156a0d2b1247790a..9fb4e203d1c5b5786d87a26b509370b4fd9a645b 100644 (file)
--- a/main.go
+++ b/main.go
@@ -1,5 +1,5 @@
 /*
-linksexp -- Texinfo/XBEL/OPML autogeneration from recfile bookmark
+linksexp -- Texinfo/XBEL/OPML/urls autogeneration from recfile bookmark
 Copyright (C) 2021 Sergey Matveev <stargrave@stargrave.org>
 
 This program is free software: you can redistribute it and/or modify
@@ -40,9 +40,32 @@ func (a ByTitle) Less(i, j int) bool {
 func main() {
        doXBEL := flag.Bool("xbel", false, "Make XBEL")
        doOPML := flag.Bool("opml", false, "Make OPML")
+       doURLS := flag.Bool("urls", false, "Make newsboat urls")
        flag.Parse()
 
        r := recfile.NewReader(os.Stdin)
+
+       if *doURLS {
+               for {
+                       m, err := r.NextMapWithSlice()
+                       if err == io.EOF {
+                               break
+                       }
+                       if err != nil {
+                               panic(err)
+                       }
+                       if m["%rec"] != nil {
+                               continue
+                       }
+                       sort.Strings(m["Category"])
+                       cats := strings.Join(m["Category"], " ")
+                       for _, f := range m["Feed"] {
+                               fmt.Println(f, cats)
+                       }
+               }
+               os.Exit(0)
+       }
+
        if *doOPML {
                data := make([]map[string][]string, 0)
                for {