Advertisement
Guest User

SABNZBD+ Postprocessing MOvies & TV

a guest
Sep 10th, 2010
9,709
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.11 KB | None | 0 0
  1. #! /bin/bash
  2.    
  3. set -u
  4.  
  5. CATEGORY_NAME=`echo $1 | awk -F [/] '{print $(NF-1)}'`
  6.  
  7. echo $2 >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  8.  
  9. echo "Category: $CATEGORY_NAME" >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  10.  
  11.  
  12. FOLDER_PATH="$1"
  13. FOLDER_NAME=`echo $FOLDER_PATH | awk -F [/] '{print $NF}'`
  14.  
  15.  
  16. echo "Folder Path: $FOLDER_PATH" >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  17.  
  18. cd "$FOLDER_PATH"
  19.  
  20. ####################
  21. # Movie Processing #
  22. ####################
  23.  
  24. if [ $CATEGORY_NAME = "movies" ]
  25. then
  26.     # Where do you want to put the movies that this script processes?
  27.     MOVIE_DESTINATION_DIRECTORY="FULL PATH TO MOVIE DIRECTORY"
  28.  
  29.     MOVIE_NAME=`echo $FOLDER_NAME | sed 's/ (.*)//g'`
  30.     echo "Movie Name: $MOVIE_NAME" >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  31.    
  32.     if [ `find . -size +629145600c -regex '.*/.*\.avi' | wc -l` -eq 2 ]
  33.         then
  34.         FILEZ[1]="$FOLDER_PATH`find . -size +629145600c -regex '.*/.*\.avi' | sort | sed -n '1p' | sed 's/^\.//'`"
  35.         FILEZ[2]="$FOLDER_PATH`find . -size +629145600c -regex '.*/.*\.avi' | sort | sed -n '2p' | sed 's/^\.//'`"
  36.         echo "Joining Files..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  37.         mencoder -forceidx -ovc copy -oac copy -o "$FOLDER_PATH/$MOVIE_NAME".avi "${FILEZ[1]}" "${FILEZ[2]}"
  38.         #Get the path for the avi
  39.         FILEZ[1]="$FOLDER_PATH`find . -size +629145600c -regex '.*/.*\.avi' | sed 's/^\.//'`"
  40.         echo "Making Folder..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  41.         #Make Folder for the avi
  42.         mkdir "$MOVIE_DESTINATION_DIRECTORY/$MOVIE_NAME"
  43.         echo "Moving Files..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  44.         #Move the avi to the folder
  45.         mv "$FOLDER_PATH/$MOVIE_NAME.avi" "$MOVIE_DESTINATION_DIRECTORY/$MOVIE_NAME/$MOVIE_NAME.avi"
  46.         #If there's an nfo, move that into the folder as well
  47.             if [ `find . -regex '.*/.*\.nfo' | wc -l` -gt 0 ]
  48.                 then
  49.                 FILEZ[2]="$FOLDER_PATH`find . -regex '.*/.*\.nfo' | sed 's/^\.//'`"
  50.                 mv "${FILEZ[2]}" "$MOVIE_DESTINATION_DIRECTORY/$MOVIE_NAME/$MOVIE_NAME.nfo"
  51.                 chmod 777 -R "${MOVIE_DESTINATION_DIRECTORY}"/"${MOVIE_NAME}"
  52.             fi
  53.         rm -r "$FOLDER_PATH"  
  54.         echo "Removing Folder: $FOLDER_NAME..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  55.         else
  56.             if [ `find . -size +629145600c -regex '.*/.*\.avi' | wc -l` -eq 1 ]
  57.                 then
  58.                 #Get the path for the avi
  59.                 FILEZ[1]="$FOLDER_PATH`find . -size +629145600c -regex '.*/.*\.avi' | sed 's/^\.//'`"
  60.                 echo "Making Folder..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  61.                 #Make Folder for the avi
  62.                 mkdir "$MOVIE_DESTINATION_DIRECTORY/$MOVIE_NAME"
  63.                 echo "Moving Files..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  64.                 #Move the avi to the folder
  65.                 mv "${FILEZ[1]}" "$MOVIE_DESTINATION_DIRECTORY/$MOVIE_NAME/$MOVIE_NAME.avi"
  66.                 #If there's an nfo, move that into the folder as well
  67.                 if [ `find . -regex '.*/.*\.nfo' | wc -l` -gt 0 ]
  68.                     then
  69.                     FILEZ[2]="$FOLDER_PATH`find . -regex '.*/.*\.nfo' | sed 's/^\.//'`"
  70.                     mv "${FILEZ[2]}" "$MOVIE_DESTINATION_DIRECTORY/$MOVIE_NAME/$MOVIE_NAME.nfo"
  71.                     chmod 777 -R "${MOVIE_DESTINATION_DIRECTORY}"/"${MOVIE_NAME}"
  72.                 fi
  73.                 rm -r "$FOLDER_PATH"  
  74.                 echo "Removing Folder: $FOLDER_NAME..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  75.             else
  76.                 echo "Couldn't copy(too many files or no files?)" >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  77.             fi
  78.     fi
  79. fi
  80.  
  81. #################
  82. # TV Processing #
  83. #################
  84.  
  85. if [ $CATEGORY_NAME = "TV" ]
  86.     then
  87.    
  88.     echo "Beginning TV Processing..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  89.    
  90.     ##Where is your root TV directory? This script will create folders in it, i.e. ROOT_TV/Seinfeld/Season 8/...
  91.     TV_DESTINATION_DIRECTORY="FULL PATH TO TV DIRECTORY"
  92.  
  93.     if [ `echo $FOLDER_NAME | awk -F " - " '{print NF}'` -ne 3 ]
  94.         then
  95.         echo "Folder name incorrect, quitting..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  96.         exit 0
  97.     fi
  98.     OPT_NAME=`echo $FOLDER_NAME | sed 's/ (.*)//g'`
  99.    
  100.     SHOW_NAME=`echo $OPT_NAME | awk -F " - " '{print $1}'`
  101.    
  102.  
  103.     echo "Show Name: $SHOW_NAME" >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  104.     SEASON_NUMBER=`echo $OPT_NAME | awk -F " - " '{print $2}' | awk -F "x" '{print $1}'`
  105.     echo "Season Number: $SEASON_NUMBER" >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  106.     EPISODE_NUMBER=`echo $OPT_NAME | awk -F " - " '{print $2}' | awk -F "x" '{print $2}'`
  107.    
  108.     if [ `find . -size +73400320c -regex '.*/.*\.avi' | wc -l` -eq 1 ]
  109.         then
  110.         FILEZ[1]="$FOLDER_PATH`find . -size +73400320c -regex '.*/.*\.avi' | sed 's/^\.//'`"
  111.         echo "One file found, making directories..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  112.         mkdir "$TV_DESTINATION_DIRECTORY/$SHOW_NAME"
  113.         mkdir "$TV_DESTINATION_DIRECTORY/$SHOW_NAME/Season $SEASON_NUMBER"
  114.         echo "Moving File..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  115.         mv "${FILEZ[1]}" "$TV_DESTINATION_DIRECTORY/$SHOW_NAME/Season $SEASON_NUMBER/$OPT_NAME.avi"
  116.         echo "Removing Folder..." >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  117.         chmod 777 -R "${TV_DESTINATION_DIRECTORY}"/"${SHOW_NAME}"
  118.         rm -r "$FOLDER_PATH"
  119.         else
  120.         echo "Couldn't copy(too many files or no files?)" >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  121.     fi
  122.  
  123.    
  124.    
  125.     echo "Done!" >> /home/USERNAME/.sabnzbd/logs/sab_proc.log
  126. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement