Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/dvdrip
[dvdrip] / dvdrip-monitor
1 #! /bin/sh -e
2
3 tmp=${DVDRIP_TMPDIR-${HOME?}/tmp/dvdrip}
4
5 case "$#" in 0) set -- /dev/sr[0-9]* ;; esac
6 cls=$(tput clear)
7 nl="
8 "
9
10 last=:
11 while :; do
12 unset out
13 for dev in "$@"; do
14 label=$(lsblk -dn -oLABEL "$dev" 2>&1 || echo "(error)")
15 dev_id=$(stat -c%t:%T "$dev")
16 dest="(inactive)"
17 for i in "$tmp"/*/device; do
18 if [ ! -f "$i" ]; then continue; fi
19 d=$(cat "$i"); id=$(stat -c%t:%T "$d")
20 case $id in
21 "$dev_id")
22 for j in dest.new dest dest.seen; do
23 if dest=$(cat "${i%/device}/$j"); then break; fi
24 done
25 ;;
26 esac
27 done
28 out=${out+$out$nl}$(printf "%-6s %-32s %s\n" "${dev#/dev/}" "$label" "$dest")
29 done
30 case $out in "$last") ;; *) echo -n "$cls$out"; last=$out ;; esac
31 sleep 1
32 done