~gbmor/clinte

9d8bbab3cee61586e8acf64874c48c7acef3884c — Benjamin Morrison 3 months ago e63da0b
allow per-user suppression of clinte notifications

If a user places a file at $HOME/.hushclinte, they will not be
notified of new posts on login.

Moved check logic to a function. Test if .hushclinte exists. If
it doesn't, run the announce function (check_clinte).

Also fixed a shellcheck error - unquoted variable expansion.
Changed string literals to single-quotes.
1 files changed, 21 insertions(+), 15 deletions(-)

M check_new_clinte_posts.sh
M check_new_clinte_posts.sh => check_new_clinte_posts.sh +21 -15
@@ 1,20 1,26 @@
#!/bin/sh

OS=$(uname)
check_clinte()
{
    OS=$(uname)
    LOCAL_FILE="$HOME/.clinte.json"
    DBFILE='/usr/local/clinte/clinte.json'

LOCAL_FILE="$HOME/.clinte.json"
DBFILE="/usr/local/clinte/clinte.json"
    if [ "$OS" = 'Linux' ]
    then
        LOCAL_HASH=$(sha256sum "$LOCAL_FILE" 2>/dev/null | cut -d' ' -f1)
        DBFILE_HASH=$(sha256sum "$DBFILE" | cut -d' ' -f1)
    else
        LOCAL_HASH=$(sha256 "$LOCAL_FILE" 2>/dev/null | cut -d' ' -f1)
        DBFILE_HASH=$(sha256 "$DBFILE" | cut -d' ' -f1)
    fi
   
    if [ "$LOCAL_HASH" != "$DBFILE_HASH" ]
    then
        printf '%s\n\n' 'New posts on clinte!'
    fi
}

if [ $OS = "Linux" ]
then
    LOCAL_HASH=$(sha256sum "$LOCAL_FILE" 2>/dev/null | cut -d' ' -f1)
    DBFILE_HASH=$(sha256sum "$DBFILE" | cut -d' ' -f1)
else
    LOCAL_HASH=$(sha256 "$LOCAL_FILE" 2>/dev/null | cut -d' ' -f1)
    DBFILE_HASH=$(sha256 "$DBFILE" | cut -d' ' -f1)
fi

if [ "$LOCAL_HASH" != "$DBFILE_HASH" ]
then
    printf "%s\n\n" "New posts on clinte!"
if [ ! -e "$HOME/.hushclinte" ]; then
    check_clinte
fi
\ No newline at end of file