dvdrip-retry-botched-vobs: Delete the retry file correctly.
[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 last_wrong=nil
10 echo "Insert $iso..."
11 while :; do
12 id=$(dvd-id "$dev")
13 case $id in
14 "$want_id") break ;;
15 "$last_wrong") ;;
16 *) echo "No, that's $id -- wanted $want_id..."; last_wrong=$id ;;
17 esac
18 sleep 2
19 done
20
21 for try in 3 2 1 0; do
22 dvd-sector-copy -R"$r" "$dev" "$iso"
23
24 set +e; DVDCSS_CACHE=off dvd-check-keys -b"$r.new" "$dev"; rc=$?; set -e
25 case $rc,$try in
26 0,*) rm -f "$r"; break ;;
27 1,0) echo "Giving up :-("; mv "$r.new" "$r"; break ;;
28 1,*) echo "Still broken! Let's try again..." ;;
29 *) echo "Failed! :-("; exit 2 ;;
30 esac
31 done
32 done