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