__key_value: --onchange parameter added (#648)

This commit is contained in:
kamila 2018-03-11 18:01:38 +01:00 committed by Darko Poljak
parent b58cb810ac
commit f9443532a1
4 changed files with 15 additions and 3 deletions

View file

@ -23,13 +23,14 @@
state_should="$(cat "$__object/parameter/state")"
state_is="$(cat "$__object/explorer/state")"
fire_onchange=''
if [ "$state_is" = "$state_should" ]; then
exit 0
fi
# here we check only if the states are valid,
# emmit messages and
# emit messages and
# let awk do the work ...
case "$state_should" in
absent)
@ -39,6 +40,7 @@ case "$state_should" in
;;
wrongformat|wrongvalue|present)
echo "remove" >> "$__messages_out"
fire_onchange=1
;;
*)
echo "Unknown explorer state: $state_is" >&2
@ -50,12 +52,15 @@ case "$state_should" in
case "$state_is" in
nosuchfile)
echo "create" >> "$__messages_out"
fire_onchange=1
;;
absent)
echo "insert" >> "$__messages_out"
fire_onchange=1
;;
wrongformated|wrongvalue)
echo "change" >> "$__messages_out"
fire_onchange=1
;;
present)
# nothing to do
@ -67,9 +72,13 @@ case "$state_should" in
esac
;;
*)
echo "Unknown state: $state_should" >&2
exit 1
echo "Unknown state: $state_should" >&2
exit 1
;;
esac
cat "$__type/files/remote_script.sh"
if [ -n "$fire_onchange" ]; then
cat "$__object/parameter/onchange"
fi

View file

@ -34,6 +34,8 @@ comment
but only if the key or value must be changed.
You need to ensure yourself that the line is prefixed with the correct
comment sign. (for example # or ; or wathever ..)
onchange
The code to run if the key or value changes (i.e. is inserted, removed or replaced).
BOOLEAN PARAMETERS

View file

@ -2,3 +2,4 @@ key
value
state
comment
onchange