#! /bin/sh
### BEGIN INIT INFO
# Provides:          hw-ppp
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO

LC_ALL=ru_RU.UTF-8
export LC_ALL

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
WORKDIR=/opt/hw-ppp/
DESC="Hardware PPP-connection"
SCRIPTNAME=/etc/init.d/hw-ppp
PYTHON=/usr/bin/python3
MAIN_SCRIPT=/opt/hw-ppp/main.py

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
# and status_of_proc is working.
. /lib/lsb/init-functions

case "$1" in
    start)
        log_daemon_msg "Starting $DESC"
        $PYTHON "$MAIN_SCRIPT" start
        case "$?" in
            0|3) log_end_msg 0 ;;
            4) log_daemon_msg "preparing failed"
                log_end_msg 1 ;;
            5) log_daemon_msg "connection failed"
                log_end_msg 1 ;;
            *) log_end_msg 1 ;;
        esac
        ;;
    stop)
        log_daemon_msg "Stopping $DESC"
        $PYTHON "$MAIN_SCRIPT" stop
        log_end_msg 0
        ;;
    status)
        $PYTHON "$MAIN_SCRIPT" status
        log_end_msg 0
        ;;
    restart|force-reload)
        log_daemon_msg "Restarting $DESC"
        $PYTHON "$MAIN_SCRIPT" stop
        $PYTHON "$MAIN_SCRIPT" start
        case "$?" in
            0|3) log_end_msg 0 ;;
            4) log_daemon_msg "preparing failed"
                log_end_msg 1 ;;
            5) log_daemon_msg "connection failed"
                log_end_msg 1 ;;
            *) log_end_msg 1 ;;
        esac
        ;;
    list)
        log_daemon_msg "Getting all USB-Serial devices"
        $PYTHON "$MAIN_SCRIPT" devicelist
        ;;
    *)
        echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload|list}" >&2
        exit 3
        ;;
esac
