Demeter release 0.1.0!

For the benefit of others who want to import an OPML file generated by FreshRSS: here is the modified import function I use. I just run it from Emacs/Sly. It takes the feed title from the “text” field and skips entries that have no URLs (which FreshRSS uses to grouping).

(define-command import-feeds-from-opml (opml-file)
  "Import feeds from a OPML file."
  (let* ((parsed-opml-file (plump:parse (uiop:read-file-string opml-file)))
         (feed-entries (clss:select "outline" parsed-opml-file)))
    (loop for entry across feed-entries
          do (let ((title (plump:attribute entry "text"))
                   (url (plump:attribute entry "xmlUrl")))
               (when url
                 (echo "Adding feed ~a (~a)" title url)
                 (demeter:add-rss-feed :url url :title title)))
          )))
2 Likes

@khinsen, the next release will parse text, title, and description fields to make sure title is always set to something sensible :slight_smile:

Checking for URL is indeed a good marker for non-feed data, we’ll incorporate it too!

2 Likes