#!/bin/sh
#
# Copyright (C) 2015, 2017, 2019, 2020, 2022  Etersoft
# Copyright (C) 2015, 2017, 2019, 2020, 2022  Vitaly Lipatov <lav@etersoft.ru>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero 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 Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#

load_helper epm-play-common

epm_prescription_help()
{
    message 'Usage: epm prescription [options] [receipt]'
    echo ''
    echog 'Options:'
    get_help HELPOPT $SHAREDIR/epm-prescription
    echo ''
    echog 'Commands:'
    get_help HELPCMD $SHAREDIR/epm-prescription
}

epm_prescription()
{

local psdir="$CONFIGDIR/prescription.d"

if [ "$1" = "--list-all" ] || [ -z "$*" ] ; then
    [ -n "$short" ] || [ -n "$quiet" ] || message "Run with a name of a prescription to run:"
    __epm_play_list $psdir
    exit
fi

while [ -n "$1" ] ; do
case "$1" in
    -h|--help)            # HELPOPT: show this help
        epm_prescription_help
        exit
        ;;
    --list-all)           # HELPOPT: list all available prescriptions
        ;;
    --remove)             # HELPOPT: remove installed prescription
        shift
        if [ -z "$1" ] ; then
            fatal "run --remove with receipt name"
        fi

        __epm_play_remove "$@"
        exit
        ;;
    receipt)              # HELPCMD: run the prescription
        ;;
    -*)
        opt="$1"
        fatal 'Unknown option $opt'
        ;;
     *)
        break
        ;;
esac
done

prescription="$1"
shift

has_play_script "$prescription" || fatal 'We have no idea how to play $prescription (checked in $psdir)'
__epm_play_run "$prescription" --run "$@" || fatal "There was some error during run the script."

}
