b9a703a65487321b4d48c7adcdd12307b06b17c9
[staging/windowmanager.git] / scripts / wm-request
1 #!/bin/sh
2
3 nopygments=0
4 if [ "$1" = "-p" ]
5 then
6    nopygments=1
7    shift
8 fi
9
10 if ! [ "$1" ]
11 then
12    echo "Usage: $0 VERB [ARGS]" >&2
13    exit 1
14 fi
15
16 UUIDFILE=/tmp/wm-request-uuid
17 if ! which uuidgen 2>/dev/null 1>&2
18 then
19    echo "c7c638c5-d097-4eb4-9012-a1e4c25b9808" > $UUIDFILE
20 else
21    if ! [ -f $UUIDFILE ]
22    then
23       uuidgen > $UUIDFILE
24    fi
25 fi
26 UUID="`cat $UUIDFILE`"
27
28 for i in afb-client-demo
29 do
30    which $i 2>/dev/null 1>&2 || { echo "Program $i is missing" >&2; exit 1; }
31 done
32
33 set -eu
34
35 if which python 2>/dev/null 1>&2 && echo '{ "test": "1" }' | python -m json.tool 2>/dev/null 1>&2
36 then
37    if [ $nopygments = 0 ] && which pygmentize 2>/dev/null 1>&2
38    then
39       json_pretty() {
40          python -m json.tool | pygmentize -l json
41       }
42    else
43       json_pretty() {
44          python -m json.tool
45       }
46    fi
47 else
48    json_pretty() {
49       cat
50    }
51 fi
52
53 verb=$1
54 shift
55
56 set +u
57 args=
58 if [ "$1" ]
59 then
60    set -u
61    args='{"drawing_name":"'"$1"'"}'
62    shift
63 fi
64
65 afb-client-demo -H ws://localhost:1700/api\?token=wm\&uuid=$UUID winman $verb $args
66
67 # vim:set ft=sh: