c95962f5d2a8f5605f73ec76e520311c4d110c60
[staging/windowmanager.git] / scripts / wm-request
1 #!/bin/sh
2
3 #
4 # Copyright (C) 2017 Mentor Graphics Development (Deutschland) GmbH
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #      http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18
19 nopygments=0
20 if [ "$1" = "-p" ]
21 then
22    nopygments=1
23    shift
24 fi
25
26 if ! [ "$1" ]
27 then
28    echo "Usage: $0 VERB [ARGS]" >&2
29    exit 1
30 fi
31
32 UUIDFILE=/tmp/wm-request-uuid
33 if ! which uuidgen 2>/dev/null 1>&2
34 then
35    echo "c7c638c5-d097-4eb4-9012-a1e4c25b9808" > $UUIDFILE
36 else
37    if ! [ -f $UUIDFILE ]
38    then
39       uuidgen > $UUIDFILE
40    fi
41 fi
42 UUID="`cat $UUIDFILE`"
43
44 for i in afb-client-demo
45 do
46    which $i 2>/dev/null 1>&2 || { echo "Program $i is missing" >&2; exit 1; }
47 done
48
49 set -eu
50
51 if which python 2>/dev/null 1>&2 && echo '{ "test": "1" }' | python -m json.tool 2>/dev/null 1>&2
52 then
53    if [ $nopygments = 0 ] && which pygmentize 2>/dev/null 1>&2
54    then
55       json_pretty() {
56          python -m json.tool | pygmentize -l json
57       }
58    else
59       json_pretty() {
60          python -m json.tool
61       }
62    fi
63 else
64    json_pretty() {
65       cat
66    }
67 fi
68
69 verb=$1
70 shift
71
72 set +u
73 args=
74 if [ "$1" ]
75 then
76    set -u
77    args='{"drawing_name":"'"$1"'"}'
78    shift
79 fi
80
81 afb-client-demo -H ws://localhost:1700/api\?token=wm\&uuid=$UUID winman $verb $args
82
83 # vim:set ft=sh: