X-Git-Url: http://git.pippins.net/embedvideo/.git/static/images/checkmark.gif?a=blobdiff_plain;f=rip_dvd.wrap;h=95af1e951230117cc8a45d7d9147e700bc9ba9f0;hb=238ad23548a670aa46a586cf76095abf00e00f12;hp=76fcb3ccd62883d2b6f136cf562beaa69939c350;hpb=1142be4419e004fa0b0aaccd0048529b6f4f0906;p=rip_dvd%2F.git diff --git a/rip_dvd.wrap b/rip_dvd.wrap index 76fcb3c..95af1e9 100755 --- a/rip_dvd.wrap +++ b/rip_dvd.wrap @@ -5,6 +5,26 @@ # 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 | grep -v $GREAT_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 grand_pid=$GRAND_PID great_grand_pid=$GREAT_GRAND_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 @@ -18,7 +38,7 @@ shift 1 ############################################## if [ -z "$dvdtype" ]; then echo "-E- $0 ' is a required option" - usage + exit 1 fi mydir=$(cd $(dirname $0) && pwd) @@ -82,23 +102,23 @@ dvdname=${dvdname%.} # remove trailing '.' character rip_opts="$* -j 2" if [ "$dvdtype" == "netflix" ]; then echo "-> Ripping Netflix DVD" - dest=/myth/video/DVDs/Netflix + dest=/myth/video/Movies/Netflix rip_opts="$rip_opts" elif [ "$dvdtype" == "collection" ]; then echo "-> Ripping Personal Collection DVD" - dest=/myth/video/DVDs/Collection + dest=/myth/video/Movies/Collection rip_opts="$rip_opts" elif [ "$dvdtype" == "childrens" ]; then echo "-> Ripping Children's DVD" - dest=/myth/video/DVDs/Childrens + dest=/myth/video/Movies/Childrens rip_opts="$rip_opts" elif [ "$dvdtype" == "church" ]; then echo "-> Ripping Church DVD" - dest=/myth/video/DVDs/Church + dest=/myth/video/Movies/Church rip_opts="$rip_opts" else echo '-E- Must specify dvdtype as "netflix" or "collection" or "childrens" or "church"' - usage + exit 1 fi ##############################################