dvdrip-retry-botched-vobs: Delete the retry file correctly.
[dvdrip] / dvdrip-retry-botched-vobs
CommitLineData
39eec43e
MW
1#! /bin/sh -e
2
3dev=${DVDRIP_DEVICE-/dev/dvd}
4
5find "$@" -type f -name "*.retry" -print | while IFS= read -r r; do
6 iso=${r%.retry}.iso
7
8 want_id=$(dvd-id "$iso")
91e3b203 9 last_wrong=nil
39eec43e
MW
10 echo "Insert $iso..."
11 while :; do
12 id=$(dvd-id "$dev")
91e3b203
MW
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
39eec43e
MW
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
7d29c3fb 26 0,*) rm -f "$r"; break ;;
39eec43e
MW
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
32done