Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/dvdrip
[dvdrip] / dvdrip-check-batch
1 #! /bin/bash -e
2
3 prog=${0##*/}
4 : ${DVD_CHECK_KEYS=dvd-check-keys}
5 bogus=nil
6 usage () {
7 cat <<EOF
8 usage: $prog DIR ...
9 EOF
10 }
11 while getopts "h" opt; do
12 case $opt in
13 h) usage; exit 0 ;;
14 *) bogus=t ;;
15 esac
16 done
17 shift $(( $OPTIND - 1 ))
18 case $# in 0) bogus=t ;; esac
19 case $bogus in t) usage >&2; exit 2 ;; esac
20
21 if [ -t 1 ]; then red=$(tput setaf 1) green=$(tput setaf 2) plain=$(tput op)
22 else red= green= plain=; fi
23
24 DVDCSS_CACHE=off; export DVDCSS_CACHE
25 find "$@" -type f -name "*.iso" | sort | while IFS= read -r iso; do
26 echo -n "check $iso..."
27 retry=${iso%.iso}.retry
28 set +e; ${DVD_CHECK_KEYS} -b"$retry.new" "$iso"; rc=$?; set -e
29 case $rc in
30 0) rm -f "$retry" echo " ${green}ok${plain}" ;;
31 1) mv "$retry.new" "$retry"; echo " ${red}FAILED${plain}" ;;
32 *) echo " ${red}ERROR${plain}"; exit 2 ;;
33 esac
34 done