Merge pull request #743 from 4nd3r/__file_onchange
add --onchange to __file
This commit is contained in:
commit
6eb0aa4aeb
3 changed files with 15 additions and 1 deletions
|
@ -23,7 +23,7 @@ destination="/$__object_id"
|
|||
state_should="$(cat "$__object/parameter/state")"
|
||||
type="$(cat "$__object/explorer/type")"
|
||||
stat_file="$__object/explorer/stat"
|
||||
|
||||
fire_onchange=''
|
||||
|
||||
get_current_value() {
|
||||
if [ -s "$stat_file" ]; then
|
||||
|
@ -45,16 +45,19 @@ get_current_value() {
|
|||
set_group() {
|
||||
echo "chgrp '$1' '$destination'"
|
||||
echo "chgrp '$1'" >> "$__messages_out"
|
||||
fire_onchange=1
|
||||
}
|
||||
|
||||
set_owner() {
|
||||
echo "chown '$1' '$destination'"
|
||||
echo "chown '$1'" >> "$__messages_out"
|
||||
fire_onchange=1
|
||||
}
|
||||
|
||||
set_mode() {
|
||||
echo "chmod '$1' '$destination'"
|
||||
echo "chmod '$1'" >> "$__messages_out"
|
||||
fire_onchange=1
|
||||
}
|
||||
|
||||
case "$state_should" in
|
||||
|
@ -83,6 +86,7 @@ case "$state_should" in
|
|||
if [ "$type" = "file" ]; then
|
||||
echo "rm -f '$destination'"
|
||||
echo remove >> "$__messages_out"
|
||||
fire_onchange=1
|
||||
fi
|
||||
;;
|
||||
|
||||
|
@ -91,3 +95,9 @@ case "$state_should" in
|
|||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -f "$__object/parameter/onchange" ]; then
|
||||
if [ -n "$fire_onchange" ]; then
|
||||
cat "$__object/parameter/onchange"
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -63,6 +63,9 @@ source
|
|||
If not supplied, an empty file or directory will be created.
|
||||
If source is '-' (dash), take what was written to stdin as the file content.
|
||||
|
||||
onchange
|
||||
The code to run if file is modified.
|
||||
|
||||
MESSAGES
|
||||
--------
|
||||
chgrp <group>
|
||||
|
|
|
@ -3,3 +3,4 @@ group
|
|||
mode
|
||||
owner
|
||||
source
|
||||
onchange
|
||||
|
|
Loading…
Reference in a new issue