#!/bin/bash

# THIS FILE IS PART OF THE CYLC SUITE ENGINE.
# Copyright (C) 2008-2017 NIWA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

usage() {
    echo "Usage: cylc [hook] email-suite EVENT SUITE MESSAGE"
    echo ""
    echo "THIS COMMAND IS OBSOLETE - use built-in email event hooks."
    echo ""
    echo "This is a simple suite event hook script that sends an email."
    echo "The command line arguments are supplied automatically by cylc."
    echo ""
    echo "For example, to get an email alert when a suite shuts down:"
    echo ""
    echo "# SUITE.RC"
    echo "[cylc]"
    echo "   [[environment]]"
    echo "      MAIL_ADDRESS = foo@bar.baz.waz"
    echo "   [[events]]"
    echo "      shutdown handler = cylc email-suite"
    echo ""
    echo "See the Suite.rc Reference (Cylc User Guide) for more information"
    echo "on suite and task event hooks and event handler scripts."
}

if [[ $# = 1 ]]; then
    if [[ $1 = '--help' ]]; then
        usage
        exit 0
    fi
fi

if [[ $# -lt 3 ]]; then
    usage
    exit 1
fi

EVENT=$1      # e.g. "shutdown"
SUITE=$2      # suite name
MESSAGE=$3

MAIL_SUBJECT="!!cylc alert!! suite $SUITE $EVENT"
MAIL_ADDRESS=${MAIL_ADDRESS:-$USER@$HOSTNAME}
MAIL_BODY="SUITE: $SUITE
MESSAGE: $MESSAGE"

echo "cylc hook email-suite: Sending email to $MAIL_ADDRESS"
echo "$MAIL_BODY" | mail -s "$MAIL_SUBJECT" $MAIL_ADDRESS
