#!/bin/bash
BASENAME="`basename "$0"`"
ZZZDATETAG=
ZZZURL=


function zzzfail {
  zzzwarn "$@"
  zzzwarn "aborting."
  exit 1
}
function zzzlog {
  echo "$BASENAME: $*"
}
function zzzwarn {
  echo "$BASENAME: *** $*" 1>&2
}


while getopts "d" ZZZOPT; do
  case "$ZZZOPT" in
  d)
    ZZZDATETAG=1
    ;;
#  \?)
#    zzzfail "bad option"
#    ;;
  *)
    zzzfail "bad option"
    ;;
  esac
done
if [ "$ZZZOPT" = "?" ]; then
#  [ $OPTIND -gt $# ] && zzzfail "no URL given"
  ZZZURL="${@:$OPTIND:1}"
  ZZZADDARGIND=$(($OPTIND+1))
else
  zzzfail "getopt returned false, but set ZZZOPT=$ZZZOPT"
fi

[ -z "$ZZZURL" ] && zzzfail "no URL given"
DESTBASE="`basename "$ZZZURL"`"
DEST="$DESTBASE"
[ "$ZZZDATETAG" = 1 ] && DEST="`date +%Y%m%d`$DEST"
DESTLOG="${DEST}.log"
[ -f "$DEST" ] && zzzfail "dest $DEST exists"
[ -f "$DESTLOG" ] && zzzfail "log $DESTLOG exists"

echo -e "$ZZZURL\n" >"$DESTLOG"
wget -O "$DEST" "${@:$ZZZADDARGIND}" "$ZZZURL" 2>&1 | tee -a "$DESTLOG"

