#!/bin/bash

MOUNT=$1
IGNORE_MOUNT=$2
ID=""

if [ "$MOUNT" = "" ]; then
  echo "Usage: $0 <mount>"
  exit
fi

# try to fetch directly from a /dev/ device
if [ "$IGNORE_MOUNT" != "" ]; then
  ID=`udisks --show-info $MOUNT 2> /dev/null | grep serial | cut -f2 -d: | sed 's/ //g'`

  if [ "$ID" = "" ]; then
    ID=`udevadm info --query=all --name=$MOUNT | grep ID_SERIAL_SHORT | cut -f2 -d=`
  fi
# only try to fetch based on a mounted device (this is used everywhere)
else
  DISK=`mount | grep "$MOUNT" | tail -1 | cut -f1 -d" " | sed 's/.$//'`

  if [ "$DISK" != "" ]; then
    ID=`udisks --show-info $DISK 2> /dev/null | grep serial | cut -f2 -d: | sed 's/ //g'`

    if [ "$ID" = "" ]; then
      #ID=`udevadm info --query=all --name=$DISK | grep USEC_INITIALIZED | cut -f2 -d=`
      ID=`udevadm info --query=all --name=$DISK | grep ID_SERIAL_SHORT | cut -f2 -d=`
    fi
  fi
fi

echo $ID

