Commit | Line | Data |
---|---|---|
39eec43e MW |
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 |