HLab

Julien Hautefeuille

Convertir un fichier opml en fichier plat txt

J’utilise l’excellent Kriss en guise de lecteur de flux RSS / Atom.

Mais j’ai parfois besoin d’obtenir la liste de mes flux dans un format texte, mais Kriss ne permet qu’un export au format opml.

J’utilise le langage Golang pour réaliser cette conversion simple d’un fichier opml vers un fichier txt et la bibliothèque go-opml.

Contenu de main.go :

package main

import (
    "fmt"
    "log"
    "github.com/gilliek/go-opml/opml"
)

func main() {
    doc, err := opml.NewOPMLFromFile("kriss_feed.opml")
    if err != nil {
        log.Fatal(err)
    }

    outlines := doc.Outlines()
    for _, e := range outlines {
        for _, f := range e.Outlines {
            fmt.Println(f.XMLURL)
        }
    }

}

J’utilise ce simple script de la manière suivante :

Dans un terminal :

go run main.go | sort -u >> flux.txt

sort -u permet de trier la liste et d’éliminer les doublons.

On obtient au final un fichier texte avec les URL sous la forme suivante :

http://www.threatexpert.com/latest_threat_reports.aspx
http://www.unixgarden.com/index.php/feed
http://www.veillemag.com/xml/atom.xml
http://www.vincentdelft.be/rss

Golang

go-opml