summaryrefslogtreecommitdiffstats
path: root/scripts/wm-request
blob: c95962f5d2a8f5605f73ec76e520311c4d110c60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/sh

#
# Copyright (C) 2017 Mentor Graphics Development (Deutschland) GmbH
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

nopygments=0
if [ "$1" = "-p" ]
then
   nopygments=1
   shift
fi

if ! [ "$1" ]
then
   echo "Usage: $0 VERB [ARGS]" >&2
   exit 1
fi

UUIDFILE=/tmp/wm-request-uuid
if ! which uuidgen 2>/dev/null 1>&2
then
   echo "c7c638c5-d097-4eb4-9012-a1e4c25b9808" > $UUIDFILE
else
   if ! [ -f $UUIDFILE ]
   then
      uuidgen > $UUIDFILE
   fi
fi
UUID="`cat $UUIDFILE`"

for i in afb-client-demo
do
   which $i 2>/dev/null 1>&2 || { echo "Program $i is missing" >&2; exit 1; }
done

set -eu

if which python 2>/dev/null 1>&2 && echo '{ "test": "1" }' | python -m json.tool 2>/dev/null 1>&2
then
   if [ $nopygments = 0 ] && which pygmentize 2>/dev/null 1>&2
   then
      json_pretty() {
         python -m json.tool | pygmentize -l json
      }
   else
      json_pretty() {
         python -m json.tool
      }
   fi
else
   json_pretty() {
      cat
   }
fi

verb=$1
shift

set +u
args=
if [ "$1" ]
then
   set -u
   args='{"drawing_name":"'"$1"'"}'
   shift
fi

afb-client-demo -H ws://localhost:1700/api\?token=wm\&uuid=$UUID winman $verb $args

# vim:set ft=sh: