OK, so I think this works. It started out as a quick hack, then grew. It's
a script that pulls in the "Dr. Fun" cartoon (drawn M-F, one panel, similar
to "The Far Side", views it, then deletes it. It stores what day you're on
in ~/.df . It starts at the beginning of the archive (September, 1993) and
goes forward. If ~/.df does not exist, it will be created. I think I
quoted all instances of variables where it's necessary, so the script
shouldn't have a problem with $HOME containing a space.
Oh, if you don't have pdksh, wget, and xv, you'll need them; portability is
varying degrees of difficulty.
#! /bin/ksh
typeset -Z2 dateYY dateMM dateDD
typeset -Z6 date
pref_file="$HOME/.df"
[[ -e $pref_file ]] || echo 930924 > "$pref_file"
[[ -w $pref_file ]] || pref_file=/dev/null
[[ -s $pref_file ]] && {
date=$(<$pref_file)
if [[ ${#date} != 6 ]] ; then
echo "$pref_file is corrupt."
echo "${#date} chars"
exit 1
fi
dateYY=${date%????}
dateMM=$(( ${date#??} / 100))
dateDD=${date#????}
}
trap 'kill %1' EXIT
while : ; do
case $(date -d $dateYY$dateMM$dateDD +%a) in
Sat|Sun) ;;
*) date=$dateYY$dateMM$dateDD
file=df$date.jpg
wget -q ibiblio.org/Dave/Dr-Fun/df$dateYY$dateMM/$file
if [[ -r $file ]] ; then
{ xv -maxpect $file && echo $date > "$pref_file" ; } &
sleep 1
rm $file
wait
fi
esac
dateDD=$((dateDD + 1))
if [[ ( ($dateMM = 01 || $dateMM = 03 || $dateMM = 05 || $dateMM = 07 \
|| $dateMM = 08 || $dateMM = 10 || $dateMM = 12) && ($dateDD > 31) ) \
|| ( ($dateMM = 02) && ($dateDD > 29) ) \
|| ( ($dateMM = 04 || $dateMM = 06 || $dateMM = 09 || $dateMM = 11)\
&& ($dateDD > 30) ) ]] ; then
dateDD=1
dateMM=$((dateMM + 1))
if [[ $dateMM > 12 ]] ; then
dateMM=1
dateYY=$((dateYY + 1))
if [[ $dateYY > 99 ]] ; then
dateYY=0
fi
fi
fi
done
--
-eben ebQenW1@EtaRmpTabYayU.rIr.OcoPm home.tampabay.rr.com/hactar
He who will not reason is a bigot; he who cannot is a fool;
and he who dares not is a slave. -Sir William Drummond
-----------------------------------------------------------------------
This list is provided as an unmoderated internet service by Networked
Knowledge Systems (NKS). Views and opinions expressed in messages
posted are those of the author and do not necessarily reflect the
official policy or position of NKS or any of its employees.
This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 17:57:30 EDT