#!/bin/sh
#
# /usr/bin/mloop
#
# (C)opyright Tecomat a.s.
#
# 2020/02/19 Hosek Martin <hosek@tecomat.cz>
#

WORKDIR="/opt/MiniBrowser"
BROWSER="./MiniBrowser"

CONFIG="$WORKDIR/MiniBrowser.ini"
CONFIG_DEF="$WORKDIR/MiniBrowser-default.ini"

DOWNLOAD_DIR_RAM="/tmp/download"
DOWNLOAD_DIR_FLASH="/mnt/flash/download"

FLASHMOUNT=`cat /proc/mounts | grep "/mnt/flash"`

if [ ! "$DISPLAY" ]; then
    export DISPLAY=:0
fi

if [ ! "$MINIBROWSER" ]; then
    export MINIBROWSER=1
fi

if [ "$FLASHMOUNT" ]; then
    if [ ! -d "$DOWNLOAD_DIR_FLASH" ]; then
	mkdir "$DOWNLOAD_DIR_FLASH"
    fi
    if [ ! -d "$DOWNLOAD_DIR_RAM" ]; then
	if [ ! -L "$DOWNLOAD_DIR_RAM" ]; then
	    ln -s "$DOWNLOAD_DIR_FLASH" "$DOWNLOAD_DIR_RAM"
	fi
    fi
else
    if [ ! -d "$DOWNLOAD_DIR_RAM" ]; then
	mkdir "$DOWNLOAD_DIR_RAM"
    fi
fi

cd "$WORKDIR"

killall -9 "$BROWSER" >/dev/null 2>&1

sleep 2

while true; do
    if [ -r /etc/default/minibrowser ]; then
	. /etc/default/minibrowser
    fi

    SIZE=`stat -c %s "$CONFIG" 2>/dev/null`

    if [ ! "$SIZE" ]; then
	SIZE="0"
    fi

    if [ "$SIZE" = "0" ]; then
	cp -a "$CONFIG_DEF" "$CONFIG"
    fi

    if [ "$DEBUG" = yes ]; then
	echo "" >> $LOG_FILE
	echo "=== `date` ===" >> $LOG_FILE
	echo "" >> $LOG_FILE

	"$BROWSER" >> $LOG_FILE 2>&1
    else
	rm $LOG_FILE

	"$BROWSER"
    fi

    sleep 1
done
