diff options
author | Karel Kočí <cynerd@email.cz> | 2016-08-18 00:02:08 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2016-08-18 00:02:08 +0200 |
commit | b8e124cf9f04774250a68ec4585c72b1ebd22ddd (patch) | |
tree | 1ebbeaeb59142fed0ad5c60a9e591b3d69db0620 /local/sbin/annoyme-request | |
parent | 1885ba862ffa2f61808bcead3b66023619ea58f0 (diff) | |
download | myconfigs-b8e124cf9f04774250a68ec4585c72b1ebd22ddd.tar.gz myconfigs-b8e124cf9f04774250a68ec4585c72b1ebd22ddd.tar.bz2 myconfigs-b8e124cf9f04774250a68ec4585c72b1ebd22ddd.zip |
Add suncemail and annoyme
Diffstat (limited to 'local/sbin/annoyme-request')
-rwxr-xr-x | local/sbin/annoyme-request | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/local/sbin/annoyme-request b/local/sbin/annoyme-request new file mode 100755 index 0000000..28a9864 --- /dev/null +++ b/local/sbin/annoyme-request @@ -0,0 +1,50 @@ +#!/bin/bash + +DOT_ANNOYME=~/.annoyme + +NAME=$1 +EC=2 + +onexit() { + rm -f "$DOT_ANNOYME/$NAME.script" + rm -f "$DOT_ANNOYME/$NAME.pid" + rm -f "$DOT_ANNOYME/$NAME.desc" + rm -f "$DOT_ANNOYME/$NAME.out" + kill $SLEEPID 2>/dev/null + exit $EC +} +trap onexit EXIT INT QUIT TERM ABRT + +mkdir -p $DOT_ANNOYME + +echo "#!/bin/bash" > "$DOT_ANNOYME/$NAME.script" +while read -r LINE; do + echo "$LINE" >> "$DOT_ANNOYME/$NAME.script" +done +chmod +x "$DOT_ANNOYME/$NAME.script" +echo "$$" > "$DOT_ANNOYME/$NAME.pid" +echo "$2" > "$DOT_ANNOYME/$NAME.desc" + +onsuccess() { + echo "User intervention successful." 1>&2 + cat "$DOT_ANNOYME/$NAME.out" + EC=0 + exit +} + +onfailure() { + echo "User intervention failed." 1>&2 + EC=1 + exit +} + +trap onsuccess SIGUSR1 +trap onfailure SIGUSR2 + +echo "Waiting for user intervention using annoyme" 1>&2 +notify-send -a "$NAME" "$NAME: User intervention required" "$2" +sleep 3h & +SLEEPID=$! +wait $SLEEPID +echo "User intervention timed out." 1>&2 +notify-send -a "$NAME" "$NAME: User intervention request timed out." |