57 lines
1.3 KiB
Bash
Executable File
57 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
vars="/home/pi/birdcam/vars"
|
|
|
|
folderext="$(cat $vars | grep folderext | cut -d'=' -f2)"
|
|
folderint="$(cat $vars | grep folderint | cut -d'=' -f2)"
|
|
player="$(cat $vars | grep playercmd | cut -d'=' -f2)"
|
|
playerparam="$(cat $vars | grep playerparam | cut -d'=' -f2)"
|
|
|
|
player_path="$(command -v $player)"
|
|
|
|
player_package="$(cat $vars | grep playerpackage | cut -d'=' -f2)"
|
|
mountdevice="$(cat $vars | grep usbdevice | cut -d'=' -f2)"
|
|
|
|
if [ -z "$player_path" ]; then
|
|
echo "Missing $player, try to install it ..."
|
|
|
|
echo "Check internet connection ..."
|
|
pingserver="$(cat $vars | grep pingserver | cut -d'=' -f2)"
|
|
if ! ping -q -c1 $pingserver>/dev/null; then
|
|
echo "No internet connection ..."
|
|
exit 0
|
|
fi
|
|
|
|
sudo apt-get update; sudo apt-get -y install $player_package
|
|
|
|
player_path="$(command -v $player)"
|
|
|
|
if [ -z "$player_path" ]; then
|
|
echo "Cannot install $player, exiting ..."
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
while true; do
|
|
|
|
mountstat="$(mount | grep $mountdevice)"
|
|
|
|
if [ -z "$mountstat" ]; then
|
|
folder="$folderint"
|
|
|
|
elif [ -n "$mountstat" ]; then
|
|
folder="$folderext"
|
|
|
|
fi
|
|
|
|
file="$(find "$folder" -maxdepth 1 -type f |sort -R |head -n1)"
|
|
|
|
while [ "$file" = "$oldfile" ]; do
|
|
file="$(find "$folder" -maxdepth 1 -type f |sort -R |head -n1)"
|
|
done
|
|
|
|
oldfile="$file"
|
|
$player $playerparam "$file"
|
|
|
|
done
|