Advertisement
josacar

Extract scene releases bash script

Jul 30th, 2011
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.31 KB | None | 0 0
  1. #!/bin/bash
  2. #
  3. # Author: Jose Luis Salas
  4. # License: GPL v3
  5. #
  6. # Extract releases from scene releases with a SFV and the RAR files
  7. #
  8.  
  9. #set -x -v
  10.  
  11. TIMER=10
  12.  
  13. LOG_DIR=~/.lpar
  14. LOG_CKSFV=$LOG_DIR/cksfv.log
  15. LOG_RAR=$LOG_DIR/rar.log
  16. LOG_EXTRAIDOS=$LOG_DIR/extracted.log
  17.  
  18. CKSFV=`which cksfv`;
  19. RAR=`which rar`;
  20.  
  21. if [ ! $CKSFV -o ! $RAR ]; then
  22.         echo "rar and cksfv is needed to run !!!";
  23. fi
  24.  
  25. function parse_sfv {
  26.         echo "** Found $1"
  27.         DIR=$(dirname "$1")
  28.         BASE=$(basename "$1")
  29.  
  30.         pushd "$DIR" > /dev/null
  31.         echo -n " * Checking SFV ...";
  32.         $CKSFV -q -f "$BASE" 2>> $LOG_CKSFV
  33.  
  34.         if [ $? = 0 ]; then
  35.                 echo -e " : \033[0;32mOK\033[0m";
  36.                 if [ -f ${BASE%%sfv}rar ];then
  37.                         FILE_TO_EXTRACT=${BASE%%sfv}rar
  38.                 else
  39.                         FILE_TO_EXTRACT=$(head -n 1 $BASE | cut -d ' ' -f 1 | grep '\.rar')
  40.                 fi
  41.  
  42.                 echo -n " * Extracting $FILE_TO_EXTRACT ...";
  43.                 $RAR x -o+ $FILE_TO_EXTRACT >> $LOG_RAR 2>&1
  44.  
  45.                 if [ $? = 0 ]; then
  46.                         echo -e " : \033[0;32mOK\033[0m";
  47.  
  48.                         if [ $DISPLAY ]; then
  49.                                 DIALOG=`which kdialog`;
  50.                                 if [ $DIALOG ]; then
  51.                                         $DIALOG --passivepopup "Extraido ${BASE%%.sfv}" 10 &
  52.                                 fi
  53.                         fi
  54.  
  55.                         echo "- Extracted ${BASE%%sfv}" >> $LOG_EXTRAIDOS
  56.                         echo "- Deleted $(awk -F " " '{print $1}' $BASE)" >> $LOG_EXTRAIDOS
  57.                         echo "- Deleted $BASE" >> $LOG_EXTRAIDOS
  58.                         rm -f $(awk -F " " '{print $1}' $BASE)
  59.                         rm -f $BASE
  60.                 else
  61.                         echo -e " : \033[0;31mFAIL\033[0m"
  62.                 fi
  63.         else
  64.                 echo -e " : \033[0;31mFAIL\033[0m"
  65.         fi
  66.  
  67.         popd > /dev/null
  68. }
  69.  
  70. if [ ! -d $LOG_DIR ]; then
  71.         mkdir $LOG_DIR
  72. fi
  73.  
  74. if [ $# -eq 1 ]; then
  75.         RUTA="$1";
  76. else
  77.         RUTA="$PWD";
  78. fi
  79.  
  80. while true; do
  81.         for i in `find $RUTA -iname "*.sfv"`; do
  82.                 parse_sfv "${i}"
  83.         done
  84.  
  85.         echo "Sleeping ...";
  86.         sleep ${TIMER}m
  87. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement