Further tweaks to the already running check
[rip_dvd/.git] / rip_dvd.wrap
index e9e8544b938eef68cdeee1dca32868389b63ad5c..8454da76836bad74d377c4dd7f2d107cb575ac13 100755 (executable)
@@ -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,7 @@ shift 1
 ##############################################
 if [ -z "$dvdtype" ]; then
   echo "-E- $0 <dvdtype>' is a required option"
-  usage
+  exit 1
 fi
 
 mydir=$(cd $(dirname $0) && pwd)
@@ -93,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
 
 ##############################################