X-Git-Url: http://git.pippins.net/embedvideo/.git/?a=blobdiff_plain;f=rip_dvd.wrap;h=e9bcb632c0810bd5788358246dc8c051d94eb4ea;hb=5158c7d2734fc55140fe2992ca0cbbb6757ce3b1;hp=0b9825f5cf67cebd6757799230ad95601abcd8e4;hpb=8b2efd5e875463ed0f5113f846859c913dcfffea;p=rip_dvd%2F.git diff --git a/rip_dvd.wrap b/rip_dvd.wrap index 0b9825f..e9bcb63 100755 --- a/rip_dvd.wrap +++ b/rip_dvd.wrap @@ -1,6 +1,23 @@ #!/bin/bash +# The purpose of this script is to encapsulate the calls +# made to the rip_dvd script. This is done to help distribute +# the resulting ripped files to the proper folders. This +# script is called from the mythtv menus for example with a +# smaller set of options. ############################################## +# Don't run if a previous rip attempt is still running +SCRIPT_NAME=${0##*/} +MY_PID=$$ +ps -ef | grep $SCRIPT_NAME | grep -v grep | grep -v emacs | grep -v vi | grep -v "/bin/sh -c" | grep -v $MY_PID +if [[ $? == 0 ]]; then + echo -e "-E- Found an instance of this script already running. Aborting this additional attempt to rip...\n" + exit 1 +fi + +############################################## +# COMMAND LINE PROCESSING + # get the dvdtype from the command line dvdtype=$1 @@ -8,25 +25,63 @@ dvdtype=$1 # of the args to be passed directly to the rip_dvd script. shift 1 -# specify the device path to your DVD drive -dev=/dev/dvd2 - -# specify the path to the rip_dvd script -ripcmd="/myth/video/bin/rip_dvd" - -# get the name of the DVD from the DVD disk -dvdname=`volname $dev | awk '{ print $1 }'` -dvdname=${dvdname%.} # remove trailing '.' character - ############################################## if [ -z "$dvdtype" ]; then echo "-E- $0 ' is a required option" usage fi +mydir=$(cd $(dirname $0) && pwd) +if [ -z "$ripcmd" ] +then + if [ -x "$mydir/rip_dvd" ] + then + ripcmd="$mydir/rip_dvd" + else + echo >&2 "Cannot find your rip_dvd command!" + exit 1 + fi +fi + +############################################################################## +# Local Machine Settings: +# Sources both the "default" conf file tracked by GIT (rip_dvd.conf.dist) +# and the local conf file created by each local machine (rip_dvd.conf) +# Copy the rip_dvd.conf.dist file to rip_dvd.conf and edit the later. +# This will allow you to override all the default values to meet your needs +# in a way that won't get clobbered when you pull updates from my GIT repo. +############################################################################## +config="${0%/*}/rip_dvd.conf" + +# The config file will be searched for in the following location order: +found_config=0 + +# 1) /path/to/rip_dvd/script/rip_dvd.conf.dist +[ -e "${config}.dist" ] && found_config=1 && . "${config}.dist" + +# 2) /path/to/rip_dvd/script/rip_dvd.conf +[ -e "${config}" ] && found_config=1 && . "${config}" + +# 3) /etc/rip_dvd.conf +[ -e "/etc/rip_dvd.conf" ] && found_config=1 && . "/etc/rip_dvd.conf" + +# 4) $PWD/rip_dvd.conf +[ -e "$PWD/rip_dvd.conf" ] && found_config=1 && . "$PWD/rip_dvd.conf" + +# Check to make sure we found the config file +if [ $found_config -eq 0 ]; then + echo "-E- Unable to find the rip_dvd.conf file: $config" + exit 1 +fi + +############################################## +# get the name of the DVD from the DVD disk +dvdname=`volname $dev | awk '{ print $1 }'` +dvdname=${dvdname%.} # remove trailing '.' character + ############################################## # Find out what type of DVD we are ripping -# And set our destination directory appropriatel +# And set our destination directory appropriately # dvdtype parameter: # - netflix = DVD ripped as an entire ISO image # since these are only kept around until we watch them, @@ -34,7 +89,7 @@ fi # - collection = Only DVD main feature is ripped # - childrens = Only DVD main feature is ripped # - church = Only DVD main feature is ripped -rip_opts="$*" +rip_opts="$* -j 2" if [ "$dvdtype" == "netflix" ]; then echo "-> Ripping Netflix DVD" dest=/myth/video/DVDs/Netflix @@ -47,7 +102,7 @@ elif [ "$dvdtype" == "childrens" ]; then echo "-> Ripping Children's DVD" dest=/myth/video/DVDs/Childrens rip_opts="$rip_opts" -elif [ "$dvdtype" == "childrens" ]; then +elif [ "$dvdtype" == "church" ]; then echo "-> Ripping Church DVD" dest=/myth/video/DVDs/Church rip_opts="$rip_opts" @@ -64,7 +119,7 @@ echo "xterm -T \"Ripping->$dvdname\" -geometry 72x15+20+10 -bg black -fg white - xterm -T "Ripping->$dvdname" -geometry 72x15+20+10 -bg black -fg white -e "/bin/bash" -c "$ripcmd -d $dest $rip_opts" & ############################################## -# OR run the script directly without displaying a progress window +# OR display the script output directly in the terminal it's called from #$ripcmd -d $dest $rip_opts ##############################################