#! /bin/bash
set -e

LIPSTICK_LABEL="LIPStick"
LIPSTICK_LABEL_ALT="$(echo -n "$LIPSTICK_LABEL" | tr "[a-z]" "[A-Z]")"

#find device
DEV="$(blkid -t "LABEL=$LIPSTICK_LABEL" -o device | head -n1 || echo '')"
if [ -z "$DEV" ]; then
  DEV="$(blkid -t "LABEL=$LIPSTICK_LABEL_ALT" -o device | head -n1 || echo '')"
fi

PS3="[1,2,3]<Enter>: "
while [ -z "$DEV" ];  do
  echo "Der LIP-Install-USB-Stick wurde nicht gefunden."
  echo "Jetzt einstecken oder ohne weitermachen"
  select i in "Stick ist jetzt gesteckt" \
"Ohne Stick weitermachen" \
"Installation abbrechen" ; do
    case $i in
     "Stick ist jetzt gesteckt")
       DEV="$(blkid -t "LABEL=$LIPSTICK_LABEL" -o device | head -n1 || echo '')"
       if [ -z "$DEV" ]; then
	 DEV="$(blkid -t "LABEL=$LIPSTICK_LABEL_ALT" -o device | head -n1 || echo '')"
       fi
       ;;
     "Ohne Stick weitermachen")
       DEV='-nomount-'
       ;;
     "Installation abbrechen")
       exit 2
       ;;
     *)
       echo "Das sollte nicht passieren. Helfer fragen."
       exit 99
       ;;
    esac
    break
  done
done

if [ "$DEV" = "-nomount-" ]; then
  echo "Mache ohne USB-Stick weiter."
  MPOINT=""
  #exit 0
else
  echo "Stick gefunden als $DEV"

  # ask udisks to mount it always.
  udisksctl mount --block-device "$DEV" || true

  # see where it is mounted
  DEVFILE=${DEV#/dev/}
#  MPOINT="$(dbus-send --print-reply=literal --system --dest=org.freedesktop.UDisks2 /org/freedesktop/UDisks2/block_devices/${DEVFILE} org.freedesktop.DBus.Properties.Get string:'org.freedesktop.UDisks2.Filesystem' string:'MountPoints' | tail -n +3 | tr -d "\ \]\[" | head -n 1 | xxd -r -p)"
MPOINT="$(udisksctl info --block-device "$DEV" | grep "MountPoints:" | tr -d ' ' | cut -d ':' -f2)"

  echo "Der Stick it als '$MPOINT' gemountet"
fi
#end;