epm-prescription 1.79 KB
Newer Older
1 2
#!/bin/sh
#
3 4
# Copyright (C) 2015, 2017, 2019, 2020, 2022  Etersoft
# Copyright (C) 2015, 2017, 2019, 2020, 2022  Vitaly Lipatov <lav@etersoft.ru>
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#
# 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/>.
#

20
load_helper epm-play-common
21

22
epm_prescription_help()
23
{
24
    message '
25
Options:
26
    <receipt>      - run <receipt>
27
    --list-all     - list all available receipts
28
'
29 30 31 32 33 34 35
}

epm_prescription()
{

local psdir="$CONFIGDIR/prescription.d"

36 37 38 39 40 41
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

42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
while [ -n "$1" ] ; do
case "$1" in
    -h|--help)
        epm_prescription_help
        exit
        ;;
    --remove)
        shift
        if [ -z "$1" ] ; then
            fatal "run --remove with receipt name"
        fi

        __epm_play_remove "$@"
        exit
        ;;
    -*)
        fatal "Unknown option $1"
        ;;
     *)
        break
        ;;
esac
done
65

66 67 68
prescription="$1"
shift

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

72
}