#!/bin/bash

SCRIPT_VER="1.4"

APP="Headphones"
APP_CATEGORY="Multimedia"
APP_SCOPE="system"
APP_ENABLED="yes"
#><#APP_CHECK_VER_CMD="if [ -d "${APP_DIRECTORY}/.git" ] ; then GIT_DIR="${APP_DIRECTORY}/.git" git describe --tags | awk -F"/" "{print \$NF}" | tr "-" "_" ; else echo "" ; fi"
SUPPORTED_ON="Debian9,Debian10,Ubuntu16.04,Ubuntu18.04,Ubuntu20.04,Ubuntu22.04"
LIBRARY="functions4.sh"

if [ "${SUPPORT-}" = '' ]; then
    SUPPORT="https://installers.rapidseedbox.com/scripts/whmcs_client_installers/support"
fi

LOGFILE="/var/log/whmcs_client_installers/${0}.log"
[ ! -d "/var/log/whmcs_client_installers" ] && mkdir -p "/var/log/whmcs_client_installers"

wget -4 -nc -q --no-check-certificate --timeout=20 --tries=5 ${SUPPORT}/${LIBRARY} >> "${LOGFILE}" 2>&1
if [ ! -f "./${LIBRARY}" ] ; then
    echo "55"
    echo "Error downloading \"${SUPPORT}/${LIBRARY}\"" >> "${LOGFILE}"
    exit 55
fi

# shellcheck source=support/functions4.sh
. "./${LIBRARY}"
SCRIPTENTRY

APP_DIRECTORY="/opt/headphones"

while : ; do

    main_rc=1

    CHECK_APP ; _rc=$?
    if [ ${_rc} -ne 0 ] ; then
        main_rc=${_rc}
        break
    fi

    if [ "${USERNAME}" != "user" ] ; then
        ERROR "${APP} can be installed for 'user' account only ATM."
        break
    fi

#    APT_INSTALL "python" "git-core" || break
    GIT_CLONE "https://github.com/rembo10/headphones.git" "${APP_DIRECTORY}"
    if [ $? -ne 0 ] ; then
        RM_DIRS "${APP_DIRECTORY}"
        break
    fi

    RUN_LOG "touch '/etc/default/headphones.conf' 2>&1"

    RUN_LOG "adduser --system --no-create-home headphones 2>&1"
    if [ $? -ne 0 ] ; then
        RM_FILES /etc/default/headphones.conf
        RM_DIRS "${APP_DIRECTORY}"
        break
    fi

    cat <<-EOF > "/etc/systemd/system/headphones.service" 2>> "${LOGFILE}"
	[Unit]
	Description=Headphones - Automatic music downloader for SABnzbd

	[Service]
	ExecStart=/usr/bin/python3 ${APP_DIRECTORY}/Headphones.py --daemon --config /etc/default/headphones.conf --datadir /home/${USERNAME}/.headphones --nolaunch --quiet
	GuessMainPID=no
	Type=forking
	User=root
	Group=root

	[Install]
	WantedBy=multi-user.target
	EOF

    SYSTEMD_RELOAD
    SVC_ENABLE "headphones"
    SVC_START  "headphones"


    main_rc=0
    break

done


SCRIPTEXIT
