wm-request: enable the use of pygments if available
[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 [ $nopygments = 0 ] && which pygmentize 2>/dev/null 1>&2
52 then
53    json_pretty() {
54       pygmentize -l json
55    }
56 else
57    json_pretty() {
58       cat
59    }
60 fi
61
62 verb=$1
63 shift
64
65 set +u
66 if [ "$1" ]
67 then
68    set -u
69    args='{"drawing_name":"'"$1"'"}'
70 fi
71
72 afb-client-demo -H ws://localhost:1700/api\?token=wm\&uuid=$UUID winman $verb $args | json_pretty
73
74 # vim:set ft=sh: