#!/bin/bash
[ -r /etc/default/mlat-client-sdrmap ] && . /etc/default/mlat-client-sdrmap

# sanitize missing settings
badconfig=""
[ -z "$START_CLIENT" ] && START_CLIENT=no
[ -z "$RUN_AS_USER" ] && RUN_AS_USER="missing-RUN_AS_USER-setting-in-config"
[ -z "$SERVER_USER" ] && badconfig="$badconfig SERVER_USER"
[ -z "$LAT" ] && badconfig="$badconfig LAT"
[ -z "$LON" ] && badconfig="$badconfig LON"
[ -z "$ALT" ] && badconfig="$badconfig ALT"
[ -z "$INPUT_TYPE" ] && INPUT_TYPE=dump1090
[ -z "$INPUT_HOSTPORT" ] && badconfig="$badconfig INPUT_HOSTPORT"
[ -z "$SERVER_HOSTPORT" ] && badconfig="$badconfig SERVER_HOSTPORT"

ARGS="--user $SERVER_USER --lat $LAT --lon $LON --alt $ALT --input-type $INPUT_TYPE --input-connect $INPUT_HOSTPORT --server $SERVER_HOSTPORT"

for r in $RESULTS
do
	if [ "$r" != "none" ]; then
		ARGS="$ARGS --results $r"
	fi
done

ARGS="$ARGS $EXTRA_ARGS"

if [ -n "$badconfig" ]; then
	echo "Not starting mlat-client-sdrmap, missing configuration options ($badconfig)" >&2
	exit 64
fi

if [ "$START_CLIENT" != "yes" ]
then
	echo "mlat-client-sdrmap not enabled in /etc/default/mlat-client-sdrmap" >&2
	exit 64
fi

if [[ "$SERVER_USER" != *:* ]]; then
	echo "Your credentials seem to be wrong." >&2
	exit 64
fi

/opt/venvs/mlat-client-sdrmap/bin/python /usr/bin/mlat-client-sdrmap $ARGS
