4504aad3b4b25904d1a5e976761cf3821efc95f2
[dvdrip] / dvdrip-retry-botched-vobs
1 #! /bin/sh -e
2
3 dev=${DVDRIP_DEVICE-/dev/dvd}
4
5 find "$@" -type f -name "*.retry" -print | while IFS= read -r r; do
6 iso=${r%.retry}.iso
7
8 want_id=$(dvd-id "$iso")
9 echo "Insert $iso..."
10 while :; do
11 id=$(dvd-id "$dev")
12 case $id in "$want_id") break ;; esac
13 sleep 2
14 done
15
16 for try in 3 2 1 0; do
17 dvd-sector-copy -R"$r" "$dev" "$iso"
18
19 set +e; DVDCSS_CACHE=off dvd-check-keys -b"$r.new" "$dev"; rc=$?; set -e
20 case $rc,$try in
21 0,*) rm -f "$retry"; break ;;
22 1,0) echo "Giving up :-("; mv "$r.new" "$r"; break ;;
23 1,*) echo "Still broken! Let's try again..." ;;
24 *) echo "Failed! :-("; exit 2 ;;
25 esac
26 done
27 done