Added new eject_opts option for greater flexibility. master
authorAlan J. Pippin <ajp@dec.(none)>
Sun, 3 Feb 2013 02:40:53 +0000 (19:40 -0700)
committerAlan J. Pippin <ajp@pippins.net>
Sun, 3 Feb 2013 02:40:53 +0000 (19:40 -0700)
Fixed auto title naming algorithm.

rip_dvd
rip_dvd.conf.dist

diff --git a/rip_dvd b/rip_dvd
index 3b846fbafd360607ef4f4ae669c38a9cc310ff90..8a8c2fa072287fc0371adb4ed29d70a5c0e6e03d 100755 (executable)
--- a/rip_dvd
+++ b/rip_dvd
@@ -48,6 +48,7 @@ typeset mkvpropedit=""
 typeset mkvmerge=""
 typeset mp4box=""
 typeset dvdxchap=""
+typeset eject_opts="-T"
 typeset -i default_aid=128
 typeset -i aid_override=-1
 typeset -i force_onepass_mode=0
@@ -1151,11 +1152,20 @@ function make_dvd_mkv_image {
       echo "\n" | tee -a "$ddrescuelog"
       dstfile=${dstmkv%.[^.]*}
       typeset -i num=0
+      typeset -i titles=0
       for i in `/bin/ls -1 "$dstdir"/*.mkv`; do
-        echo -e "   Moving $i -> $dstfile.$num.mkv" | tee -a "$ddrescuelog"
-        mv "$i" "$dstfile.$num.mkv"
-        ((num = num + 1 ))
+       ((titles = titles + 1))
       done
+      if [[ $titles > 1 ]]; then
+        for i in `/bin/ls -1 "$dstdir"/*.mkv`; do
+          echo -e "   Moving $i -> $dstfile.$num.mkv" | tee -a "$ddrescuelog"
+          mv "$i" "$dstfile.$num.mkv"
+          ((num = num + 1 ))
+        done
+      else 
+         echo -e "  Moving $dstdir/*.mkv -> $dstfile.mkv" | tee -a "$ddrescuelog"
+         mv "$dstdir"/*.mkv "$dstfile.mkv"
+      fi
       echo "\n" | tee -a "$ddrescuelog"
     fi
 
@@ -1835,14 +1845,27 @@ if [ $mirror_mode -eq 1 ]; then
   if [[ "$ripper" == "makemkv" ]]; then
       # use makemkv to make an MKV file of the disk
       make_dvd_mkv_image "$tmpdir/$dvdname.mkv" "disc" "$makemkv_disc_id"
-      echo "   Moving $tmpdir/$dvdname.mkv -> $dest/$dvdname.mkv"
-      mv "$tmpdir/$dvdname.mkv" "$dest/$dvdname.mkv"
+      # move the ripped movies into place
+      typeset -i num=0 
+      for i in `/bin/ls -1 "$tmpdir/$dvdname"*.mkv`; do
+        if [[ "$i" =~ .[[:digit:]].mkv ]]; then
+          finaldest="$dest/$dvdname.$num.mkv"
+        else
+          finaldest="$dest/$dvdname.mkv"
+        fi
+        while [[ -e "$finaldest" ]]; do
+          ((num = num + 1 ))
+          finaldest="$dest/$dvdname.$num.mkv"
+        done
+        echo "   Moving $i -> $finaldest"
+        mv "$i" "$finaldest"
+      done
       # add this video data to the mythtv DB
       fill_mythvideo_metadata "$dest_filename"
   else       
       # use ddrescue to make an ISO image of the disk
       make_dvd_iso_image "$tmpdir/$dvdname.iso"
-      echo "   Moving $tmpdir/$dvdname.mkv -> $dest/$dvdname.mkv"
+      echo "   Moving $tmpdir/$dvdname.iso -> $dest/$dvdname.iso"
       mv "$tmpdir/$dvdname.iso" "$dest/$dvdname.iso"
       # add this video data to the mythtv DB
       fill_mythvideo_metadata "$dest_filename"
@@ -1850,7 +1873,7 @@ if [ $mirror_mode -eq 1 ]; then
 
   # eject the disk upon completion
   if [ $eject_disk -ne 0 ]; then
-    eject -T $dev
+    eject $eject_opts $dev
   fi
 
   date=`date`
@@ -1970,7 +1993,7 @@ if [ $mirror_mode -eq 0 ]; then
     fi
 
     # eject the DVD disk since we are finished with it
-    [ $eject_disk -eq 2 ] && eject -T $dev
+    [ $eject_disk -eq 2 ] && eject $eject_opts $dev
 
     # encode the VOB file to a compressed file format
     if [ $make_final_dest_comp -eq 1 ]; then
@@ -2056,7 +2079,7 @@ if [ $mirror_mode -eq 0 ]; then
   remove_intermediate_dvdbackup_folder
 
   # eject the DVD disk upon completion
-  [ $eject_disk -eq 1 ] && eject -T $dev
+  [ $eject_disk -eq 1 ] && eject $eject_opts $dev
 
   date=`date`
   echo "$date DVD rip completed" | tee -a "$logfile"
index 808ee25a95a57ac1bcb6a521c83513dd87160c9d..a9c865af3f5051304f8ccbd20f5f1790e814694f 100644 (file)
@@ -28,6 +28,9 @@ mailto=root
 # Setup the path to the tools needed by this ripper
 PATH=/etc/mythtv/bin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/usr/share/tovid:.:$PATH
 
+# Specify the options to use with the eject command
+eject_opts="-T"
+
 # Use mplayer dumpstream to create the main VOB file
 # If set to 0, cat and other utils will be used to make it instead.
 # Using mplayer dumpstream is by far the best way to create the main VOB file