X-Git-Url: http://git.pippins.net/embedvideo/.git/?a=blobdiff_plain;f=rip_dvd.wrap;h=8454da76836bad74d377c4dd7f2d107cb575ac13;hb=1077c0f3b98965275bfb91f4b59ac0d068e2190e;hp=fdfee25d0fac2aa0407d57251f9ed82cbc2de49b;hpb=6994fa0d704833bb934b25281b9e62b1036affcc;p=rip_dvd%2F.git diff --git a/rip_dvd.wrap b/rip_dvd.wrap index fdfee25..8454da7 100755 --- a/rip_dvd.wrap +++ b/rip_dvd.wrap @@ -1,4 +1,29 @@ #!/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 +GRAND_PID=$(ps -ef | grep "^[a-zA-Z]* [ ]* $PARENT_PID " | awk '{print $3}') +GREAT_GRAND_PID=$(ps -ef | grep "^[a-zA-Z]* [ ]* $GRAND_PID " | awk '{print $3}') +ps -ef | grep -e "$SCRIPT_NAME1" -e "$SCRIPT_NAME2" | grep -v grep | grep -v $MY_PID | grep -v $PARENT_PID | grep -v $GRAND_PID +if [[ $? == 0 ]]; then + echo -e "-E- Found an instance of this script already running. Aborting this additional attempt to rip..." + echo -e " my_pid=$MY_PID parent_pid=$PARENT_PID\n" + CALLER=$(ps -ef | grep "^[a-zA-Z]* [ ]* $PPID " | awk '{print $3}') + CALLER_CALLER=$(ps -ef | grep "^[a-zA-Z]* [ ]* $CALLER " | awk '{print $3}') + echo I was called from $CALLER who was called by $CALLER_CALLER + ps -ef | grep $MY_PID | grep -v grep + ps -ef | grep $PARENT_PID | grep -v grep + exit 1 +fi ############################################## # COMMAND LINE PROCESSING @@ -13,7 +38,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 ############################################################################## @@ -81,7 +118,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 ##############################################