diff options
Diffstat (limited to 'update-feed.sh')
-rwxr-xr-x[-rw-r--r--] | update-feed.sh | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/update-feed.sh b/update-feed.sh index f0a7508..4afd168 100644..100755 --- a/update-feed.sh +++ b/update-feed.sh @@ -1,3 +1,25 @@ #!/bin/bash -curl -s http://tv.nrk.no/listobjects/recentlysent | dos2unix |xmllint --html --dropdtd --xmlout - 2> /dev/null | xmlstarlet tr ./tv.nrk.no.xsl > tv.nrk.no.atom +set -e +set -x + +checksum() { + [ -r $1 ] && md5sum $1 | cut -f 1 -d ' ' +} + +fetch() { + curl -s http://tv.nrk.no/listobjects/recentlysent | dos2unix | xmllint --html --dropdtd --xmlout - 2> /dev/null > tv.nrk.no.html.new + + if [ -r tv.nrk.no.html -a "`checksum tv.nrk.no.html.new`" == "`checksum tv.nrk.no.html`" ] + then + rm -f tv.nrk.no.html.new + echo "Already up to date." + exit 0 + fi + + mv tv.nrk.no.html.new tv.nrk.no.html +} + +fetch + +cat tv.nrk.no.html | xmlstarlet tr ./tv.nrk.no.xsl > tv.nrk.no.atom |