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