#!/bin/bash

CONFIG=~/.bitvaluerc
HOST=data.bitcoinity.org

TIMESPAN="24h"

USAGE="Usage: $(basename "$0") [-h] [-t 10m|1h|24h|3d|7d|30d|6m|2y|5y|all]
Simple bash script to visualize the value of your bitcoin investment.

Arguments:
  -h  show this help text
  -t  used timespan (default: $TIMESPAN)"

while getopts ':ht:' option; do
    case "$option" in
	h) echo "$USAGE"
	   exit
	   ;;
	t) TIMESPAN=$OPTARG
	   ;;
	:) printf "missing argument for -%s\n" "$OPTARG" >&2
	   echo "$usage" >&2
	   exit 1
	   ;;
	\?) printf "illegal option: -%s\n" "$OPTARG" >&2
	    echo "$usage" >&2
	    exit 1
	    ;;
    esac
done
shift $((OPTIND - 1))

if [ ! -f $CONFIG ]; then
    cat << EOF > $CONFIG
EXCHANGE="bitstamp"
CURRENCY="EUR"
BTC="1"
EOF
    echo "Created config: $CONFIG - Adapt config parameters!"
fi

source $CONFIG

if ! ping -c 1 $HOST >/dev/null 2>&1; then
    echo "Host $HOST is unreachable!"
    exit 1
fi

cat << EOF | gnuplot
set terminal dumb
set datafile separator ","
set xdata time
set timefmt "%Y-%m-%d %H:%M:%S UTC"
set title "EXCHANGE: $EXCHANGE | TIMESPAN: $TIMESPAN\nCURRENCY: $CURRENCY | BTC: $BTC "
plot "< wget -q -O - \"https://$HOST/export_data.csv?currency=$CURRENCY&data_type=price&exchange=$EXCHANGE&t=l&timespan=$TIMESPAN\"" \
     using 1:(\$3*$BTC) with lines title ""
EOF

if [ $? -ne 0 ]; then
    echo "Error while preparing data!" >&2
    exit 1
fi

exit 0