#!/usr/bin/env bash

if [ ! -e "${HOME}/.rmounttab" ] ; then
    echo "$(basename $0): Necessary file ~/.rmounttab is not present" >&2
    exit 1
fi

MOUNTCLONES_ARGS=${MOUNTCLONES_ARGS:- --vfs-cache-mode full}
GENERAL_ARGS="${MOUNTCLONES_ARGS} ${@}"

cat "${HOME}/.rmounttab" | \
    grep -v '^#' | \
    while IFS="" read -r p || [ -n "$p" ]
    do
        REMOTE=$(echo "$p" | cut -f 1)
        MOUNTPOINT=$(echo "$p" | cut -f 2)
        ARGS=$(echo "$p" | cut -f 3)

        if [ ! -d "${MOUNTPOINT}" ] ; then
            echo "$(basename $0): ${MOUNTPOINT} does not exist, creating" >&2
            mkdir -p ${MOUNTPOINT}
        fi

        if [ "$(ls -A ${MOUNTPOINT})" ] ; then
            echo "$(basename $0): ${MOUNTPOINT} is not empty, not mounting" >&2
            continue
        fi

        echo rclone mount "${REMOTE}" "${MOUNTPOINT}" --daemon ${ARGS} ${GENERAL_ARGS}
        rclone mount "${REMOTE}" "${MOUNTPOINT}" --daemon ${ARGS} ${GENERAL_ARGS}
    done
