58 lines
1.7 KiB
Plaintext
58 lines
1.7 KiB
Plaintext
|
##@cooked comments # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||
|
## Pilotage de wotaskd
|
||
|
##@cooked nocomments
|
||
|
##@require base
|
||
|
##@require sysinfos
|
||
|
##@require webobjects
|
||
|
uprovide wotaskd
|
||
|
urequire base sysinfos webobjects
|
||
|
|
||
|
WOT_DEFAULT_HOST=localhost
|
||
|
WOT_DEFAULT_PORT="${WOTASKD_PORT:-1085}"
|
||
|
|
||
|
function __get_woturl() {
|
||
|
# $1 est un nom d'hôte de la forme host[:port]
|
||
|
# Le transfomer en url pour attaquer le wotaskd:
|
||
|
# http://host:port/cgi-bin/WebObjects/wotaskd.woa/$2[&$3...]
|
||
|
# $2 est l'url relative à attaquer. Si $3 est spécifié, c'est le mot de
|
||
|
# passe pour l'accès au moniteur. Si $4...* sont spécifiés, ce sont d'autres
|
||
|
# paramètres.
|
||
|
local host port paramsep="?"
|
||
|
splitpair "$1" host port; shift
|
||
|
[ -n "$host" ] || host="$WOT_DEFAULT_HOST"
|
||
|
[ -n "$port" ] || port="$WOT_DEFAULT_PORT"
|
||
|
|
||
|
local woturl="http://$host:$port/cgi-bin/WebObjects/wotaskd.woa"
|
||
|
if [ -n "$1" ]; then
|
||
|
[ "${1#/}" == "$1" ] && woturl="$woturl/"
|
||
|
woturl="$woturl$1"
|
||
|
fi; shift
|
||
|
if [ -n "$1" ]; then
|
||
|
woturl="$woturl${paramsep}pw=$1"
|
||
|
paramsep="&"
|
||
|
fi; shift
|
||
|
while [ -n "$1" ]; do
|
||
|
woturl="$woturl${paramsep}$1"; shift
|
||
|
paramsep="&"
|
||
|
done
|
||
|
echo "$woturl"
|
||
|
}
|
||
|
|
||
|
function wot_config() {
|
||
|
# Afficher la configuration de wotaskd
|
||
|
local clean status=1
|
||
|
if [ -z "$WORAURL_DATA" ]; then
|
||
|
local WORAURL_DATA
|
||
|
ac_set_tmpfile WORAURL_DATA
|
||
|
clean=1
|
||
|
fi
|
||
|
if wogeturl "$(__get_woturl "$1" wa/woconfig)"; then
|
||
|
cat "$WORAURL_DATA"
|
||
|
status=0
|
||
|
else
|
||
|
status=1
|
||
|
fi
|
||
|
[ -n "$clean" ] && rm -f "$WORAURL_DATA"
|
||
|
return $status
|
||
|
}
|