#! /usr/bin/env bash

cdrom_status()
{
  out=$(lshw 2>/dev/null | awk '/\*-cd/,/con/' | sed -e 's/^[ \t]*//' | grep configuration | grep -Eo 'status=[^.]+' | cut -d'=' -f2)
  echo $out
}

run_copy()
{
#  echo "copying..."
#  sleep 2
#  copy_result=1
  abcde -a cddb,getalbumart,read,encode,tag,move,playlist,clean -V -x -N
  copy_result="$?"
  if [ "${copy_result}" -ne 0 ]
  then
    echo "Copy may have failed with code ${copy_result}"
  else
    echo "Copy has finished successfully"
  fi
}

old_cdrom_status=""
while :
do
  cdrom_status=$(cdrom_status)
  if [ "${old_cdrom_status}" != "${cdrom_status}" ] && [ "${cdrom_status}" != "" ]
  then
    echo "CDROM drive status changed: ${cdrom_status}"
    if [ "${cdrom_status}" == "ready" ]
    then
      run_copy
    fi
    old_cdrom_status="${cdrom_status}"
  fi
  sleep 1
done