X-Git-Url: http://git.pippins.net/embedvideo/.git/.%24link.?a=blobdiff_plain;f=rip_dvd.wrap;h=3c09442de0d8d2cd2f4c3a87adfa14d5e43803ae;hb=1d8e9d026a6c29f2aeba496dfa2ae8d3a8253f91;hp=b959fe66155f3d8d186ca881b2e3379deec74de3;hpb=aa526a7bbd385ca4ac9254cdcb8ac2dd4fa67ef7;p=rip_dvd%2F.git diff --git a/rip_dvd.wrap b/rip_dvd.wrap index b959fe6..3c09442 100755 --- a/rip_dvd.wrap +++ b/rip_dvd.wrap @@ -1,4 +1,21 @@ #!/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_NAME1="rip_dvd.wrap" +SCRIPT_NAME2="xterm -T Ripping" +MY_PID=$$ +PARENT_PID=$PPID +ps -ef | grep -e "$SCRIPT_NAME1" -e "$SCRIPT_NAME2" | grep -v grep | grep -v $MY_PID | grep -v $PARENT_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 @@ -13,7 +30,19 @@ shift 1 ############################################## if [ -z "$dvdtype" ]; then echo "-E- $0 ' is a required option" - usage + exit 1 +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 ############################################################################## @@ -25,8 +54,27 @@ fi # in a way that won't get clobbered when you pull updates from my GIT repo. ############################################################################## config="${0%/*}/rip_dvd.conf" -[ -e "${config}.dist" ] && . ${config}.dist -[ -e "${config}" ] && . ${config} + +# 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 @@ -43,7 +91,7 @@ dvdname=${dvdname%.} # remove trailing '.' character # - 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 @@ -62,7 +110,7 @@ elif [ "$dvdtype" == "church" ]; then rip_opts="$rip_opts" else echo '-E- Must specify dvdtype as "netflix" or "collection" or "childrens" or "church"' - usage + exit 1 fi ##############################################