#!/bin/bash PATH=$HOME/bin:$PATH function getvar() { varname=$1 xform=$2 xsltproc --nonet --novalid --param q "/*[local-name()='stylesheet']/*[local-name()='variable' or local-name()='param'][ @name = '$varname' ]/@select" query.xslt "$xform" } cd $( dirname $0 ) for name in "$@" ; do if [ "${name##*.}" = 'xslt' ] ; then FEED="${name%.xslt}".atom TEMPFILE=$( mktemp "$FEED".XXXXXX ) SOURCE=$( getvar source-url $name ) NOTIDY=$( getvar no-tidy $name ) INPUT=- if [ "$SOURCE" ] && ((NOTIDY)) ; then INPUT=$SOURCE fi if [ -z "$SOURCE" ] ; then echo '' elif [ "$SOURCE" ] && ! ((NOTIDY)) ; then TIDYARG=$( getvar tidy-arg $name ) http_proxy= wget -qO - "$SOURCE" | tidy -q -config xhtmlize.tidy $TIDYARG - fi | xsltproc --novalid $name "$INPUT" 1> "$TEMPFILE" 2> /dev/null if [ -s "$TEMPFILE" ] ; then mv "$TEMPFILE" "$FEED" chmod 644 "$FEED" else date +"%F %R: Error scraping $name, $TEMPFILE is empty" 2>&1 rm "$TEMPFILE" fi elif [ -x "$name" ] ; then http_proxy= wget -qO - "$( "./$name" --url )" | "./$name" 1> "${name}".atom 2> /dev/null fi done