#! /bin/sh # 2012-06-07 ~tv@iiso:bin/mtgox.ticker set -euf Currency=${Currency-EUR} # continuous ticker ## usage: mtgox.ticker -f [time] [json-path...] if test $# -ge 1 && test "$1" = -f; then shift time=`echo "$1" | grep '^[1-9][0-9]*[h]\?$'` && shift || time=60 echo -n "# sleep time: $time" while echo -n " `date --rfc-3339=s` `"$0" "$@"`"; do sleep $time done exit fi # 2012-11-17 tv /krebs/gold/mtgox/mtgox.ticker ticker() { curl -ksS https://mtgox.com/code/data/ticker.php?Currency=$Currency } # 2012-11-17 tv ~mw*@iiso:Espresso-phonegap/package/bin/json-print print() { node -e " // 2012-11-17 tv //filename = process.argv[2] filename = process.argv[1] jsonpath = [] value = JSON.parse(require('fs').readFileSync(filename)) // 2012-11-17 tv //process.argv.slice(3).forEach(function (key) { process.argv.slice(2).forEach(function (key) { value = value[key] jsonpath.push(key) if (typeof value === 'undefined') { console.error(filename + ':', jsonpath.join('.'), 'is', value) process.exit(23) } }) console.log(JSON.stringify(value, null, 2)) " "$@" } # ticker ## usage: mtgox.ticker [json-path...] -> json # 2012-11-17 tv #/krebs/gold/mtgox/mtgox.ticker | # ~mw*@iiso:Espresso-phonegap/package/bin/json-print /dev/stdin ticker "$@" ticker | print /dev/stdin ticker "$@"