]> git.treefish.org Git - bitvalue.git/blob - bitvalue
Use http request to check webpage availability
[bitvalue.git] / bitvalue
1 #!/bin/bash
2
3 CONFIG=~/.bitvaluerc
4 HOST=data.bitcoinity.org
5
6 TIMESPAN="24h"
7
8 USAGE="Usage: $(basename "$0") [-h] [-t 10m|1h|24h|3d|7d|30d|6m|2y|5y|all]
9 Simple bash script to visualize the value of your bitcoin investment.
10
11 Arguments:
12   -h  show this help text
13   -t  used timespan (default: $TIMESPAN)"
14
15 while getopts ':ht:' option; do
16     case "$option" in
17         h) echo "$USAGE"
18            exit
19            ;;
20         t) TIMESPAN=$OPTARG
21            ;;
22         :) printf "missing argument for -%s\n" "$OPTARG" >&2
23            echo "$usage" >&2
24            exit 1
25            ;;
26         \?) printf "illegal option: -%s\n" "$OPTARG" >&2
27             echo "$usage" >&2
28             exit 1
29             ;;
30     esac
31 done
32 shift $((OPTIND - 1))
33
34 if [ ! -f $CONFIG ]; then
35     cat << EOF > $CONFIG
36 EXCHANGE="bitstamp"
37 CURRENCY="EUR"
38 BTC="1"
39 EOF
40     echo "Created config: $CONFIG - Adapt config parameters!"
41 fi
42
43 source $CONFIG
44
45 URL="https://$HOST/export_data.csv?\
46 currency=$CURRENCY&\
47 data_type=price&\
48 exchange=$EXCHANGE&\
49 t=l&\
50 timespan=$TIMESPAN"
51
52 if ! wget -S --spider $URL 2>&1 | grep 'HTTP/1.1 200 OK' >/dev/null; then
53     echo "Can not retrieve data from $HOST!";
54     exit 1
55 fi
56
57 cat << EOF | gnuplot 2>/dev/null
58 set terminal dumb
59 set datafile separator ","
60 set xdata time
61 set timefmt "%Y-%m-%d %H:%M:%S UTC"
62 set title "EXCHANGE: $EXCHANGE | TIMESPAN: $TIMESPAN\nCURRENCY: $CURRENCY | BTC: $BTC "
63 plot "< wget -q -O - \"$URL\"" using 1:(\$3*$BTC) with lines title ""
64 EOF
65
66 if [ $? -ne 0 ]; then
67     echo "Error while preparing data!" >&2
68     exit 1
69 fi
70
71 exit 0