sfeed

Simple RSS and Atom feed parser
git clone https://git.sinitax.com/codemadness/sfeed
Log | Files | Refs | README | LICENSE | Upstream | sfeed.txt

commit 3e96aaa793e6bccc89006d55b0b6f49ac56907ec
parent e88ade983fca58fc5b5592be4ad7734ae0bb121f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Thu, 30 Jul 2015 16:15:20 +0200

sfeed_maildir: initial version, needs more work

Diffstat:
Aprocmailrc.example | 17+++++++++++++++++
Asfeed_maildir | 21+++++++++++++++++++++
2 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/procmailrc.example b/procmailrc.example @@ -0,0 +1,17 @@ +# Example for use with sfeed_maildir. +# The header X-Feedname is used to split into separate maildirs. It is assumes +# this name is sane. + +MAILDIR="$HOME/feeds/" + +:0 +* ^X-Feedname: \/.* +{ + FEED="$MATCH" + + :0 Wh: "msgid_$FEED.lock" + | formail -D 1024000 ".cache/msgid_$FEED.cache" + + :0 + "$FEED"/ +} diff --git a/sfeed_maildir b/sfeed_maildir @@ -0,0 +1,21 @@ +#!/bin/sh +# Uses procmail to format mbox to maildir, see procmailrc.example. +# Copy procmailrc.example to $procmailconfig (see below). +# Depends on: procmail, formail, sfeed_mbox. + +maildir="$HOME/feeds" +feedsdir="$HOME/.sfeed/feeds" +procmailconfig="$HOME/.sfeed/procmailrc" + +# message-id cache to prevent duplicates. +mkdir -p "${maildir}/.cache" + +find "${feedsdir}" -type f -exec printf '%s\n' {} \; | while read -r d; do + (name=$(basename "${d}") + mkdir -p "${maildir}/${name}/cur" + mkdir -p "${maildir}/${name}/new" + mkdir -p "${maildir}/${name}/tmp" + printf 'Mailbox %s\n' "${name}" + sfeed_mbox "${d}" | formail -s procmail "${procmailconfig}") & +done +wait