sfeed

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

commit 843c551810f868d72eda011c286229635fbee4a9
parent cce75bc0ece27c39c86589af49804e29e9a788b5
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Wed, 28 Jan 2015 15:41:50 +0100

sfeed_update: pass file for curl time condition (last modified)

this fixes an issue with differences in stat(1) versions (OpenBSD, GNU, sbase).

Diffstat:
Msfeed_update | 13++++---------
1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/sfeed_update b/sfeed_update @@ -42,9 +42,9 @@ merge() { } # fetch a feed via HTTP/HTTPS etc. -# fetchfeed(url, name, lastupdated) +# fetchfeed(url, name) fetchfeed() { - if curl -f -s -S -L --max-time 15 -z "$3" "$1"; then + if curl -f -s -S -L --max-time 15 -z "$sfeedfile" "$1"; then printf " OK %s %s\n" "`date +'%H:%M:%S'`" "$2" >&2 else printf "FAIL %s %s\n" "`date +'%H:%M:%S'`" "$2" >&2 @@ -70,11 +70,10 @@ feed() { tmpencfile="" encoding="$4" if [ ! "$encoding" = "" ]; then - fetchfeed "$2" "$1" "$lastupdated" | \ - convertencoding "$encoding" "utf-8" + fetchfeed "$2" "$1" | convertencoding "$encoding" "utf-8" else # detect encoding. tmpencfile=$(mktemp -p "$TMPDIR") - fetchfeed "$2" "$1" "$lastupdated" > "$tmpencfile" + fetchfeed "$2" "$1" > "$tmpencfile" detectenc=$(sfeed_xmlenc < "$tmpencfile") convertencoding "$detectenc" "utf-8" < "$tmpencfile" rm -f "$tmpencfile" @@ -99,10 +98,6 @@ feeds() { loadconfig "$1" # fetch feeds and store in temporary file. TMPDIR=$(mktemp -d "/tmp/sfeed_XXXXXX") -# get date of last modified feedfile in format: -# YYYYmmdd HH:MM:SS [+-][0-9]* -lastupdated=$(stat -c "%y" "$sfeedfile" 2> /dev/null | \ - cut -c 1-4,6-7,9-10,11-19,30-) # kill whole current process group on ^C. isrunning="1" # SIGTERM: signal to terminate parent.