diff options
Diffstat (limited to 'assets/bin')
-rwxr-xr-x | assets/bin/asq | 2 | ||||
-rwxr-xr-x | assets/bin/ass | 24 | ||||
-rwxr-xr-x | assets/bin/check-truth | 11 | ||||
-rwxr-xr-x | assets/bin/fast | 20 | ||||
-rwxr-xr-x | assets/bin/truth2json | 37 |
5 files changed, 94 insertions, 0 deletions
diff --git a/assets/bin/asq b/assets/bin/asq new file mode 100755 index 00000000..0204e05b --- /dev/null +++ b/assets/bin/asq @@ -0,0 +1,2 @@ +#!/bin/something +# placeholder to asq the truth for facts diff --git a/assets/bin/ass b/assets/bin/ass new file mode 100755 index 00000000..5a4dade4 --- /dev/null +++ b/assets/bin/ass @@ -0,0 +1,24 @@ +#!/bin/sh + +set -euf + +HERE=$(dirname $(readlink -f $0)) +DB="$HERE/../../db" +JOURNAL="$DB/truth" +(cd $DB && git pull >/dev/null && echo "pulled new version") + +METHOD="$1"; shift + +case $METHOD in +"create") + echo "`date --utc --rfc-3339=ns` create $1" | $HERE/check-truth | tee -a $JOURNAL +;; +"set") + echo "`date --utc --rfc-3339=ns` set $1 $2 $3" | $HERE/check-truth | tee -a $JOURNAL +;; +*) + echo "you are made of stupid!" + exit 23 +;; +esac +(cd $DB && git commit -a -m bump >/dev/null && git push 1>&2 2>/dev/null && echo "updates pushed")& diff --git a/assets/bin/check-truth b/assets/bin/check-truth new file mode 100755 index 00000000..064a7d97 --- /dev/null +++ b/assets/bin/check-truth @@ -0,0 +1,11 @@ +#!/bin/sh +set -euf +HERE=$(dirname $(readlink -f $0)) +DB="$HERE/../../db/truth" +read LINE +if (cat $DB;echo $LINE) | $HERE/truth2json - 1>/dev/null ;then + echo "success" 1>&2 + echo "$LINE" +else + echo "you fail" 1>&2 +fi diff --git a/assets/bin/fast b/assets/bin/fast new file mode 100755 index 00000000..41725d0b --- /dev/null +++ b/assets/bin/fast @@ -0,0 +1,20 @@ +#!/bin/bash +set -xeuf +cd $(dirname $(readlink -f $0)) + +if [ "$1" == "c" ];then + ./ass create "$2" && export ASS_CREATED="$2" + for i in `env | grep -v '^ASS_CREATED=' | grep "^ASS" | cut -d '=' -f 1`;do + e=`echo $i | cut -d '_' -f 2 | tr '[A-Z]' '[a-z]'` + eval con=\$$i + $0 s "$e" "$con" + done +else if [ "$1" == "s" ] +then + ./ass set "${ASS_CREATED}" "${2}" "${3}" + else + echo "you are made of stupid!" + cat $0 + exit 23 + fi +fi diff --git a/assets/bin/truth2json b/assets/bin/truth2json new file mode 100755 index 00000000..f85445b4 --- /dev/null +++ b/assets/bin/truth2json @@ -0,0 +1,37 @@ +#!/usr/bin/python + +import sys + +try: + db=sys.argv[1] +except: + db="../../db/truth" + +ret = {} + + +if db is "-": + sys.stderr.write("Using stdin\n") + f = sys.stdin +else: + sys.stderr.write("Using journal '%s'\n" % db) + f = open(db) + +for line in f: + lsplit = line.split() + date = ' '.join(lsplit[0:2]) + cmd = lsplit[2] + target = lsplit[3] + if cmd == "create": + assert target not in ret, "Target '%s' already created!" %target + ret[target] = {} + elif cmd == "set": + key = lsplit[4] + value = ' '.join(lsplit[5:]) + assert target in ret, "target '%s' not set yet!" % target + ret[target][key] = value + else: + raise AssertionError,"unknown command '%s'!" + +import json +print json.dumps(ret,sort_keys=True,indent=4) |