#!/bin/sh
set -eu

if [ -r /etc/default/syncwerk-server-webdav ]; then
    . /etc/default/syncwerk-server-webdav
fi

: "${SYNCWERK_CONF_DIR:=/etc/syncwerk}"
: "${SYNCWERK_CENTRAL_CONF_DIR:=/etc/syncwerk}"
: "${CCNET_CONF_DIR:=${SYNCWERK_CONF_DIR}}"
: "${SYNCWDAV_CONF:=${SYNCWERK_CONF_DIR}/webdav.conf}"
: "${SYNCWERK_WEBDAV_HOST:=127.0.0.1}"
: "${SYNCWERK_WEBDAV_PORT:=8080}"
: "${SYNCWERK_WEBDAV_LOG:=/var/log/syncwerk/webdav.log}"
: "${RESTAPI_DIR:=/usr/share/python/syncwerk/restapi}"
: "${SYNCWERK_PYTHON_ROOT:=/usr/share/python/syncwerk}"
: "${DJANGO_SETTINGS_MODULE:=restapi.settings}"
: "${SYNCWERK_WEBDAV_PYTHONPATH:=${RESTAPI_DIR}:${SYNCWERK_PYTHON_ROOT}}"
: "${PYTHONNOUSERSITE:=1}"
: "${PYTHONSAFEPATH:=1}"

export CCNET_CONF_DIR
export SYNCWERK_CONF_DIR
export SYNCWERK_CENTRAL_CONF_DIR
export SYNCWDAV_CONF
export RESTAPI_DIR
export SYNCWERK_PYTHON_ROOT
export DJANGO_SETTINGS_MODULE
export SYNCWERK_WEBDAV_PYTHONPATH
export PYTHONNOUSERSITE
export PYTHONSAFEPATH
export PYTHONPATH="${SYNCWERK_WEBDAV_PYTHONPATH}${PYTHONPATH:+:${PYTHONPATH}}"

cd "${SYNCWERK_PYTHON_ROOT}"

exec /usr/bin/python3 -m wsgidav.server.run_server \
    --host "${SYNCWERK_WEBDAV_HOST}" \
    --port "${SYNCWERK_WEBDAV_PORT}" \
    --log-file "${SYNCWERK_WEBDAV_LOG}" \
    "$@"
