#! /bin/sh
LC_ALL=C
LANG=C
LASTDAY=$(echo $(date +%s) - 86400 | bc)
LASTWEEK=$(echo $(date +%s) - 604800 | bc)
LASTMONTH=$(echo $(date +%s) - 2592000 | bc)
LASTYEAR=$(echo $(date +%s) - 31572135 | bc)
LAST5YEARS=$(echo $(date +%s) - 157680000 | bc)
LAST10YEARS=$(echo $(date +%s) - 315721350 | bc)

GRAPHDAY=new-day.png
GRAPHWEEK=new-week.png
GRAPHMONTH=new-month.png
GRAPHYEAR=new-year.png
GRAPH5YEARS=new-5years.png
GRAPH10YEARS=new-10years.png
STATFILE=new.rrd

LENNY_RELEASE=$(date +"%s" -d "Sat, 14 Feb 2009 22:58:48 -1100")
LENNY_RELEASE_COLOR=$(echo -n $LENNY_RELEASE |md5sum |cut -c-6)
SQUEEZE_FREEZE=$(date +"%s" -d "Fri, 6 Aug 2010 14:44:18 +0100")
SQUEEZE_FREEZE_COLOR=$(echo -n $SQUEEZE_FREEZE |md5sum |cut -c-6)
SQUEEZE_RELEASE=$(date +"%s" -d "Sun, 6 Feb 2011 02:20:39 +0100")
SQUEEZE_RELEASE_COLOR=$(echo -n $SQUEEZE_RELEASE |md5sum |cut -c-6)


get_data() {
./new.py | xargs rrdtool update new.rrd
}

do_graph() {
rrdtool graph $1 --start $2 --end $(date +%s) \
	--width 600 --height 150 \
	--vertical-label packages --title "Package count: $3" \
	--lower-limit 0 -E \
	${RRDTOOL_ARGS} \
	DEF:ds1=$STATFILE:ds1:AVERAGE \
	LINE2:ds1#D9382B:"Total package count\: " \
	VDEF:lds1=ds1,LAST \
	VDEF:minds1=ds1,MINIMUM \
	VDEF:maxds1=ds1,MAXIMUM \
	VDEF:avgds1=ds1,AVERAGE \
	GPRINT:lds1:"%3.0lf" \
	GPRINT:minds1:"\tMin\: %3.0lf" \
	GPRINT:maxds1:"\tMax\: %3.0lf" \
	GPRINT:avgds1:"\tAvg\: %3.0lf\j" \
	DEF:ds0=$STATFILE:ds0:AVERAGE \
	VDEF:lds0=ds0,LAST \
	VDEF:minds0=ds0,MINIMUM \
	VDEF:maxds0=ds0,MAXIMUM \
	VDEF:avgds0=ds0,AVERAGE \
	LINE2:ds0#3069DA:"Package count in NEW\:" \
	GPRINT:lds0:"%3.0lf" \
	GPRINT:minds0:"\tMin\: %3.0lf" \
	GPRINT:maxds0:"\tMax\: %3.0lf" \
	GPRINT:avgds0:"\tAvg\: %3.0lf\j" \
  VRULE:${LENNY_RELEASE}#${LENNY_RELEASE_COLOR}:"Lenny release"\
  VRULE:${SQUEEZE_FREEZE}#${SQUEEZE_FREEZE_COLOR}:"Squeeze freeze" \
  VRULE:${SQUEEZE_RELEASE}#${SQUEEZE_RELEASE_COLOR}:"Squeeze release"
}

update_page() {
NOW=$(date -R)
sed 's/\$id\$/'"$NOW"'/' index.tmpl > index.html
}

#Script:

get_data
do_graph $GRAPHDAY $LASTDAY day
do_graph $GRAPHWEEK $LASTWEEK week
do_graph $GRAPHMONTH $LASTMONTH month
do_graph $GRAPHYEAR $LASTYEAR year
RRDTOOL_ARGS="--x-grid MONTH:1:YEAR:1:YEAR:1:31536000:%Y"
do_graph $GRAPH5YEARS $LAST5YEARS "5 years"
do_graph $GRAPH10YEARS $LAST10YEARS "10 years"

update_page

