mirror of
https://github.com/clinton-hall/nzbToMedia.git
synced 2025-08-20 13:23:18 -07:00
Merge 4f4d07fcae
into 28845ad358
This commit is contained in:
commit
b710e93e83
12 changed files with 500 additions and 53 deletions
|
@ -15,6 +15,9 @@ thorli's Synology DS211j was too weak to provide decent downloads rates with SAB
|
||||||
|
|
||||||
The renamer of CouchPotatoServer caused broken downloads by interfering with NZBGet while it was still unpacking the files. Hence the solution was thorli's version of sabToCouchPotato which has now been named "nzbToCouchPotato".
|
The renamer of CouchPotatoServer caused broken downloads by interfering with NZBGet while it was still unpacking the files. Hence the solution was thorli's version of sabToCouchPotato which has now been named "nzbToCouchPotato".
|
||||||
|
|
||||||
|
Failed download handling for SickBeard is available by using the development branch from fork [SickBeard-failed](https://github.com/Tolstyak/Sick-Beard.git "SickBeard-failed")
|
||||||
|
To use this feature, in autoProcessTV.cfg set the parameter "failed_fork=1". Default is 0 and will work with standard version of SickBeard and just ignores failed downloads.
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
### General
|
### General
|
||||||
|
|
|
@ -30,7 +30,7 @@ def process(dirName, nzbName=None, status=0):
|
||||||
status = int(status)
|
status = int(status)
|
||||||
config = ConfigParser.ConfigParser()
|
config = ConfigParser.ConfigParser()
|
||||||
configFilename = os.path.join(os.path.dirname(sys.argv[0]), "autoProcessMovie.cfg")
|
configFilename = os.path.join(os.path.dirname(sys.argv[0]), "autoProcessMovie.cfg")
|
||||||
print "autoProcessMovie v 3.1"
|
print "autoProcessMovie v 3.2"
|
||||||
print "Loading config from", configFilename
|
print "Loading config from", configFilename
|
||||||
|
|
||||||
if not os.path.isfile(configFilename):
|
if not os.path.isfile(configFilename):
|
||||||
|
|
|
@ -5,3 +5,4 @@ username=
|
||||||
password=
|
password=
|
||||||
web_root=
|
web_root=
|
||||||
ssl=0
|
ssl=0
|
||||||
|
failed_fork=0
|
|
@ -44,10 +44,6 @@ class AuthURLOpener(urllib.FancyURLopener):
|
||||||
def processEpisode(dirName, nzbName=None, status=0):
|
def processEpisode(dirName, nzbName=None, status=0):
|
||||||
|
|
||||||
status = int(status)
|
status = int(status)
|
||||||
if status > 0:
|
|
||||||
print "the download failed. nothing to process"
|
|
||||||
sys.exit()
|
|
||||||
|
|
||||||
config = ConfigParser.ConfigParser()
|
config = ConfigParser.ConfigParser()
|
||||||
configFilename = os.path.join(os.path.dirname(sys.argv[0]), "autoProcessTV.cfg")
|
configFilename = os.path.join(os.path.dirname(sys.argv[0]), "autoProcessTV.cfg")
|
||||||
print "Loading config from", configFilename
|
print "Loading config from", configFilename
|
||||||
|
@ -78,13 +74,33 @@ def processEpisode(dirName, nzbName=None, status=0):
|
||||||
except ConfigParser.NoOptionError:
|
except ConfigParser.NoOptionError:
|
||||||
web_root = ""
|
web_root = ""
|
||||||
|
|
||||||
|
try:
|
||||||
|
failed_fork = int(config.get("SickBeard", "failed_fork"))
|
||||||
|
except (ConfigParser.NoOptionError, ValueError):
|
||||||
|
failed_fork = 0
|
||||||
|
|
||||||
params = {}
|
params = {}
|
||||||
|
|
||||||
params['quiet'] = 1
|
params['quiet'] = 1
|
||||||
|
|
||||||
params['dir'] = dirName
|
# this is our default behaviour to work with the standard Master branch of SickBeard
|
||||||
if nzbName != None:
|
if failed_fork == 0:
|
||||||
params['nzbName'] = nzbName
|
params['dir'] = dirName
|
||||||
|
if nzbName != None:
|
||||||
|
params['nzbName'] = nzbName
|
||||||
|
# the standard Master bamch of SickBeard cannot process failed downloads. So Exit here.
|
||||||
|
if status != 0:
|
||||||
|
print "the download failed. nothing to process"
|
||||||
|
sys.exit()
|
||||||
|
# if you have specified you are using development branch from fork https://github.com/Tolstyak/Sick-Beard.git
|
||||||
|
else:
|
||||||
|
params['dirName'] = dirName
|
||||||
|
if nzbName != None:
|
||||||
|
params['nzbName'] = nzbName
|
||||||
|
if status == 0:
|
||||||
|
params['failed'] = False
|
||||||
|
else:
|
||||||
|
params['failed'] = True
|
||||||
|
|
||||||
myOpener = AuthURLOpener(username, password)
|
myOpener = AuthURLOpener(username, password)
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
Change_LOG / History
|
Change_LOG / History
|
||||||
|
|
||||||
|
V3.2 11/12/2012
|
||||||
|
|
||||||
|
Added failed handling from NZBGet. Thanks to schumi2004.
|
||||||
|
Also added support for the "failed download" development branch of SickBeard from https://github.com/Tolstyak/Sick-Beard.git
|
||||||
|
|
||||||
V3.1 02/12/2012
|
V3.1 02/12/2012
|
||||||
|
|
||||||
added conversion to ensure the status passed to the autoProcessTV and autoProcessMovie is always handled as an integer.
|
added conversion to ensure the status passed to the autoProcessTV and autoProcessMovie is always handled as an integer.
|
||||||
|
|
|
@ -17,14 +17,14 @@ if len(sys.argv) == 8:
|
||||||
autoProcessMovie.process(sys.argv[1], sys.argv[2], sys.argv[7])
|
autoProcessMovie.process(sys.argv[1], sys.argv[2], sys.argv[7])
|
||||||
|
|
||||||
# NZBGet
|
# NZBGet
|
||||||
elif len(sys.argv) == 3:
|
elif len(sys.argv) == 4:
|
||||||
# NZBGet argv:
|
# NZBGet argv:
|
||||||
# 1 The final directory of the job (full path)
|
# 1 The final directory of the job (full path)
|
||||||
# 2 The original name of the NZB file
|
# 2 The original name of the NZB file
|
||||||
# From NZBGet only successful downloads are triggered so status is set to "0"
|
# 3 The status of the download: 0 == successful
|
||||||
print "Script triggered from NZBGet, starting autoProcessMovie..."
|
print "Script triggered from NZBGet, starting autoProcessMovie..."
|
||||||
|
|
||||||
autoProcessMovie.process(sys.argv[1], sys.argv[2], 0)
|
autoProcessMovie.process(sys.argv[1], sys.argv[2], sys.argv[3])
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print "Invalid number of arguments received from client."
|
print "Invalid number of arguments received from client."
|
||||||
|
|
|
@ -39,14 +39,14 @@ if len(sys.argv) == 8:
|
||||||
autoProcessTV.processEpisode(sys.argv[1], sys.argv[2], sys.argv[7])
|
autoProcessTV.processEpisode(sys.argv[1], sys.argv[2], sys.argv[7])
|
||||||
|
|
||||||
# NZBGet
|
# NZBGet
|
||||||
elif len(sys.argv) == 3:
|
elif len(sys.argv) == 4:
|
||||||
# NZBGet argv:
|
# NZBGet argv:
|
||||||
# 1 The final directory of the job (full path)
|
# 1 The final directory of the job (full path)
|
||||||
# 2 The original name of the NZB file
|
# 2 The original name of the NZB file
|
||||||
# From NZBGet only successful downloads are triggered so status is set to "0"
|
# 3 The status of the download: 0 == successful
|
||||||
print "Script triggered from NZBGet, starting autoProcessTV..."
|
print "Script triggered from NZBGet, starting autoProcessTV..."
|
||||||
|
|
||||||
autoProcessTV.processEpisode(sys.argv[1], sys.argv[2], 0)
|
autoProcessTV.processEpisode(sys.argv[1], sys.argv[2], sys.argv[3])
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print "Invalid number of arguments received from client."
|
print "Invalid number of arguments received from client."
|
||||||
|
|
372
nzbget-postprocessing-files/0.8.0/postprocess-failed.sh
Normal file
372
nzbget-postprocessing-files/0.8.0/postprocess-failed.sh
Normal file
|
@ -0,0 +1,372 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Example postprocessing script for NZBGet
|
||||||
|
#
|
||||||
|
# Copyright (C) 2008 Peter Roubos <peterroubos@hotmail.com>
|
||||||
|
# Copyright (C) 2008 Otmar Werner
|
||||||
|
# Copyright (C) 2008-2009 Andrei Prygounkov <hugbug@users.sourceforge.net>
|
||||||
|
# Copyright (C) 2012 Antoine Bertin <diaoulael@gmail.com>
|
||||||
|
# Copyright (C) 2012 Jürgen Seif <thor78@gmx.at>
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
####################### Usage instructions #######################
|
||||||
|
# o Script will unrar downloaded rar files, join ts-files and rename img-files
|
||||||
|
# to iso.
|
||||||
|
#
|
||||||
|
# o To use this script with nzbget set the option "PostProcess" in
|
||||||
|
# nzbget configuration file to point to this script file. E.g.:
|
||||||
|
# PostProcess=/home/user/nzbget/nzbget-postprocess.sh
|
||||||
|
#
|
||||||
|
# o The script needs a configuration file. An example configuration file
|
||||||
|
# is provided in file "postprocess-example.conf". Put the configuration file
|
||||||
|
# into the directory where nzbget's configuration file (nzbget.conf) or where
|
||||||
|
# this script itself is located. Then edit the configuration file in any
|
||||||
|
# text editor to adjust the settings.
|
||||||
|
#
|
||||||
|
# o You can also edit the script's configuration via web-interface (requires
|
||||||
|
# NZBGetWeb 1.4 or later). Set the options "PostProcessConfigFile" and
|
||||||
|
# "PostProcessConfigTemplate" to point to "postprocess-example.conf"
|
||||||
|
# (including full path). The both options are under the section
|
||||||
|
# "CONFIGURATION OF POSTPROCESSING-SCRIPT" in NZBGetWeb.
|
||||||
|
#
|
||||||
|
# o There are few options, which can be ajdusted for each nzb-file
|
||||||
|
# individually. To view/edit them in web-interface click on a spanner icon
|
||||||
|
# near the name of nzb-file.
|
||||||
|
#
|
||||||
|
# o The script supports the feature called "delayed par-check".
|
||||||
|
# That means it can try to unpack downloaded files without par-checking
|
||||||
|
# them fisrt. Only if unpack fails, the script schedules par-check,
|
||||||
|
# then unpacks again.
|
||||||
|
# To use delayed par-check set following options in nzbget configuration file:
|
||||||
|
# ParCheck=no
|
||||||
|
# ParRepair=yes
|
||||||
|
# LoadPars=one (or) LoadPars=all
|
||||||
|
#
|
||||||
|
# o If you want to par-check/repair all files before trying to unpack them,
|
||||||
|
# set option "ParCheck=yes".
|
||||||
|
#
|
||||||
|
####################### End of Usage instructions #######################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# NZBGet passes following arguments to postprocess-programm as environment
|
||||||
|
# variables:
|
||||||
|
# NZBPP_DIRECTORY - path to destination dir for downloaded files;
|
||||||
|
# NZBPP_NZBFILENAME - name of processed nzb-file;
|
||||||
|
# NZBPP_PARFILENAME - name of par-file or empty string (if no collections were
|
||||||
|
# found);
|
||||||
|
# NZBPP_PARSTATUS - result of par-check:
|
||||||
|
# 0 = not checked: par-check disabled or nzb-file does
|
||||||
|
# not contain any par-files;
|
||||||
|
# 1 = checked and failed to repair;
|
||||||
|
# 2 = checked and successfully repaired;
|
||||||
|
# 3 = checked and can be repaired but repair is disabled;
|
||||||
|
# NZBPP_NZBCOMPLETED - state of nzb-job:
|
||||||
|
# 0 = there are more collections in this nzb-file queued;
|
||||||
|
# 1 = this was the last collection in nzb-file;
|
||||||
|
# NZBPP_PARFAILED - indication of failed par-jobs for current nzb-file:
|
||||||
|
# 0 = no failed par-jobs;
|
||||||
|
# 1 = current par-job or any of the previous par-jobs for
|
||||||
|
# the same nzb-files failed;
|
||||||
|
# NZBPP_CATEGORY - category assigned to nzb-file (can be empty string).
|
||||||
|
|
||||||
|
# Toggle detailed output (0/1)
|
||||||
|
DEBUG=1
|
||||||
|
|
||||||
|
# Name of script's configuration file
|
||||||
|
SCRIPT_CONFIG_FILE="postprocess.conf"
|
||||||
|
|
||||||
|
# Exit codes
|
||||||
|
POSTPROCESS_PARCHECK_CURRENT=91
|
||||||
|
POSTPROCESS_PARCHECK_ALL=92
|
||||||
|
POSTPROCESS_SUCCESS=93
|
||||||
|
POSTPROCESS_ERROR=94
|
||||||
|
POSTPROCESS_NONE=95
|
||||||
|
|
||||||
|
# Postprocessing function for nzbToCouchPotato for handling failed downloads
|
||||||
|
nzbToCouchPotato() {
|
||||||
|
if [ "$DEBUG" ]; then echo "[DETAIL] Post-Process: Executing function 'nzbToCouchPotato' with argument $1" ; fi
|
||||||
|
PostProcessStatus=0
|
||||||
|
if [ -n "$1" ]; then PostProcessStatus=$1 ; fi
|
||||||
|
if [ "$CouchPotato" = "yes" -a "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -e "$NzbToCouchPotato" ]; then
|
||||||
|
# Call Couchpotato's postprocessing script
|
||||||
|
echo "[INFO] Post-Process: Running CouchPotato's postprocessing script"
|
||||||
|
if [ "$DEBUG" ]; then
|
||||||
|
echo "[DETAIL] Post-Process: CouchPotato-Script-Path=$NzbToCouchPotato"
|
||||||
|
echo "[DETAIL] Post-Process: CouchPotato-Script-ARGV1=$NZBPP_DIRECTORY"
|
||||||
|
echo "[DETAIL] Post-Process: CouchPotato-Script-ARGV2=$NZBPP_NZBFILENAME"
|
||||||
|
echo "[DETAIL] Post-Process: CouchPotato-Script-ARGV3=$PostProcessStatus"
|
||||||
|
fi
|
||||||
|
#$PythonCmd $NzbToCouchPotato "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "$PostProcessStatus" >/dev/null 2>&1
|
||||||
|
$PythonCmd $NzbToCouchPotato "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "$PostProcessStatus"
|
||||||
|
else
|
||||||
|
if [ "$CouchPotato" != "yes" ]; then echo "[DETAIL] Post-Process: Ignored to run CouchPotato's postprocessing script as it is disabled by user ('$CouchPotato')"; fi
|
||||||
|
if [ "$NZBPP_CATEGORY" != "CouchPotatoCategory" ]; then echo "[DETAIL] Post-Process: Ignored to run CouchPotato's postprocessing script as category does not match ('$NZBPP_CATEGORY')"; fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass on postprocess exit codes to external scripts for handling failed downloads
|
||||||
|
do_exit() {
|
||||||
|
if [ "$DEBUG" ]; then echo "[DETAIL] Post-Process: Executing function 'do_exit' with argument $1" ; fi
|
||||||
|
nzbStatus=0
|
||||||
|
if [ "$1" -ne "$POSTPROCESS_SUCCESS" ]; then nzbStatus=1 ; fi
|
||||||
|
nzbToCouchPotato $nzbStatus
|
||||||
|
exit $1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if the script is called from nzbget
|
||||||
|
if [ "$NZBPP_DIRECTORY" = "" -o "$NZBOP_CONFIGFILE" = "" ]; then
|
||||||
|
echo "*** NZBGet post-process script ***"
|
||||||
|
echo "This script is supposed to be called from nzbget (0.7.0 or later)."
|
||||||
|
exit $POSTPROCESS_ERROR
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if postprocessing was disabled in postprocessing parameters
|
||||||
|
# (for current nzb-file) via web-interface or via command line with
|
||||||
|
# "nzbget -E G O PostProcess=no <ID>"
|
||||||
|
if [ "$NZBPR_PostProcess" = "no" ]; then
|
||||||
|
echo "[WARNING] Post-Process: Postprocessing disabled for this nzb-file, exiting"
|
||||||
|
exit $POSTPROCESS_NONE
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[INFO] Post-Process: Post-process script successfully started"
|
||||||
|
|
||||||
|
# Determine the location of configuration file (it must be stored in
|
||||||
|
# the directory with nzbget.conf or in this script's directory).
|
||||||
|
ConfigDir="${NZBOP_CONFIGFILE%/*}"
|
||||||
|
ScriptConfigFile="$ConfigDir/$SCRIPT_CONFIG_FILE"
|
||||||
|
if [ ! -f "$ScriptConfigFile" ]; then
|
||||||
|
ConfigDir="${0%/*}"
|
||||||
|
ScriptConfigFile="$ConfigDir/$SCRIPT_CONFIG_FILE"
|
||||||
|
fi
|
||||||
|
if [ ! -f "$ScriptConfigFile" ]; then
|
||||||
|
echo "[ERROR] Post-Process: Configuration file $ScriptConfigFile not found, exiting"
|
||||||
|
do_exit $POSTPROCESS_ERROR
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Readg configuration file
|
||||||
|
while read line; do eval "$line"; done < $ScriptConfigFile
|
||||||
|
|
||||||
|
# Check nzbget.conf options
|
||||||
|
BadConfig=0
|
||||||
|
|
||||||
|
if [ "$NZBOP_ALLOWREPROCESS" = "yes" ]; then
|
||||||
|
echo "[ERROR] Post-Process: Please disable option \"AllowReProcess\" in nzbget configuration file"
|
||||||
|
BadConfig=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$NZBOP_LOADPARS" = "none" ]; then
|
||||||
|
echo "[ERROR] Post-Process: Please set option \"LoadPars\" to \"One\" or \"All\" in nzbget configuration file"
|
||||||
|
BadConfig=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$NZBOP_PARREPAIR" = "no" ]; then
|
||||||
|
echo "[ERROR] Post-Process: Please set option \"ParRepair\" to \"Yes\" in nzbget configuration file"
|
||||||
|
BadConfig=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$BadConfig" -eq 1 ]; then
|
||||||
|
echo "[ERROR] Post-Process: Existing because of not compatible nzbget configuration"
|
||||||
|
do_exit $POSTPROCESS_ERROR
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if all collections in nzb-file were downloaded
|
||||||
|
if [ ! "$NZBPP_NZBCOMPLETED" -eq 1 ]; then
|
||||||
|
echo "[INFO] Post-Process: Not the last collection in nzb-file, exiting"
|
||||||
|
do_exit $POSTPROCESS_SUCCESS
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check par status
|
||||||
|
if [ "$NZBPP_PARSTATUS" -eq 1 -o "$NZBPP_PARSTATUS" -eq 3 -o "$NZBPP_PARFAILED" -eq 1 ]; then
|
||||||
|
if [ "$NZBPP_PARSTATUS" -eq 3 ]; then
|
||||||
|
echo "[WARNING] Post-Process: Par-check successful, but Par-repair disabled, exiting"
|
||||||
|
else
|
||||||
|
echo "[WARNING] Post-Process: Par-check failed, exiting"
|
||||||
|
fi
|
||||||
|
#nzbToCouchPotato
|
||||||
|
do_exit $POSTPROCESS_ERROR
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if destination directory exists (important for reprocessing of history items)
|
||||||
|
if [ ! -d "$NZBPP_DIRECTORY" ]; then
|
||||||
|
echo "[ERROR] Post-Process: Nothing to post-process: destination directory $NZBPP_DIRECTORY doesn't exist"
|
||||||
|
do_exit $POSTPROCESS_ERROR
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$NZBPP_DIRECTORY"
|
||||||
|
|
||||||
|
# If not just repaired and file "_brokenlog.txt" exists, the collection is damaged
|
||||||
|
# exiting with returning code $POSTPROCESS_PARCHECK_ALL to request par-repair
|
||||||
|
if [ ! "$NZBPP_PARSTATUS" -eq 2 ]; then
|
||||||
|
if [ -f "_brokenlog.txt" ]; then
|
||||||
|
if (ls *.[pP][aA][rR]2 >/dev/null 2>&1); then
|
||||||
|
echo "[INFO] Post-Process: Brokenlog found, requesting par-repair"
|
||||||
|
do_exit $POSTPROCESS_PARCHECK_ALL
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# All checks done, now processing the files
|
||||||
|
|
||||||
|
# Flag indicates that something was unrared
|
||||||
|
Unrared=0
|
||||||
|
|
||||||
|
# Unrar the files (if any) to the temporary directory, if there are no rar files this will do nothing
|
||||||
|
if (ls *.rar >/dev/null 2>&1); then
|
||||||
|
|
||||||
|
# Check if unrar exists
|
||||||
|
$UnrarCmd >/dev/null 2>&1
|
||||||
|
if [ "$?" -eq 127 ]; then
|
||||||
|
echo "[ERROR] Post-Process: Unrar not found. Set the path to unrar in script's configuration"
|
||||||
|
do_exit $POSTPROCESS_ERROR
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make a temporary directory to store the unrarred files
|
||||||
|
ExtractedDirExists=0
|
||||||
|
if [ -d $ExtractedDir ]; then
|
||||||
|
ExtractedDirExists=1
|
||||||
|
else
|
||||||
|
mkdir $ExtractedDir
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[INFO] Post-Process: Unraring"
|
||||||
|
rarpasswordparam=""
|
||||||
|
if [ "$NZBPR_Password" != "" ]; then
|
||||||
|
rarpasswordparam="-p$NZBPR_Password"
|
||||||
|
fi
|
||||||
|
|
||||||
|
$UnrarCmd x -y -p- "$rarpasswordparam" -o+ "*.rar" ./$ExtractedDir/
|
||||||
|
if [ "$?" -eq 3 ]; then
|
||||||
|
echo "[ERROR] Post-Process: Unrar failed"
|
||||||
|
if [ "$ExtractedDirExists" -eq 0 ]; then
|
||||||
|
rm -R $ExtractedDir
|
||||||
|
fi
|
||||||
|
# for delayed par-check/-repair at least one par-file must be already downloaded
|
||||||
|
if (ls *.[pP][aA][rR]2 >/dev/null 2>&1); then
|
||||||
|
echo "[INFO] Post-Process: Requesting par-repair"
|
||||||
|
do_exit $POSTPROCESS_PARCHECK_ALL
|
||||||
|
fi
|
||||||
|
do_exit $POSTPROCESS_ERROR
|
||||||
|
fi
|
||||||
|
Unrared=1
|
||||||
|
|
||||||
|
# Remove the rar files
|
||||||
|
if [ "$DeleteRarFiles" = "yes" ]; then
|
||||||
|
echo "[INFO] Post-Process: Deleting rar-files"
|
||||||
|
rm *.r[0-9][0-9] >/dev/null 2>&1
|
||||||
|
rm *.rar >/dev/null 2>&1
|
||||||
|
rm *.s[0-9][0-9] >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Go to the temp directory and try to unrar again.
|
||||||
|
# If there are any rars inside the extracted rars then these will no also be unrarred
|
||||||
|
cd $ExtractedDir
|
||||||
|
if (ls *.rar >/dev/null 2>&1); then
|
||||||
|
echo "[INFO] Post-Process: Unraring (second pass)"
|
||||||
|
$UnrarCmd x -y -p- -o+ "*.rar"
|
||||||
|
|
||||||
|
if [ "$?" -eq 3 ]; then
|
||||||
|
echo "[INFO] Post-Process: Unrar (second pass) failed"
|
||||||
|
do_exit $POSTPROCESS_ERROR
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Delete the Rar files
|
||||||
|
if [ "$DeleteRarFiles" = "yes" ]; then
|
||||||
|
echo "[INFO] Post-Process: Deleting rar-files (second pass)"
|
||||||
|
rm *.r[0-9][0-9] >/dev/null 2>&1
|
||||||
|
rm *.rar >/dev/null 2>&1
|
||||||
|
rm *.s[0-9][0-9] >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Move everything back to the Download folder
|
||||||
|
mv * ..
|
||||||
|
cd ..
|
||||||
|
rmdir $ExtractedDir
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If download contains only nzb-files move them into nzb-directory
|
||||||
|
# for further download
|
||||||
|
# Check if command "wc" exists
|
||||||
|
wc -l . >/dev/null 2>&1
|
||||||
|
if [ "$?" -ne 127 ]; then
|
||||||
|
AllFilesCount=`ls -1 2>/dev/null | wc -l`
|
||||||
|
NZBFilesCount=`ls -1 *.nzb 2>/dev/null | wc -l`
|
||||||
|
if [ "$AllFilesCount" -eq "$NZBFilesCount" ]; then
|
||||||
|
echo "[INFO] Moving downloaded nzb-files into incoming nzb-directory for further download"
|
||||||
|
mv *.nzb $NZBOP_NZBDIR
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
echo "[INFO] Post-Process: Cleaning up"
|
||||||
|
chmod -R a+rw .
|
||||||
|
rm *.nzb >/dev/null 2>&1
|
||||||
|
rm *.sfv >/dev/null 2>&1
|
||||||
|
rm *.1 >/dev/null 2>&1
|
||||||
|
rm _brokenlog.txt >/dev/null 2>&1
|
||||||
|
if [ "$Unrared" -eq 1 ]; then
|
||||||
|
# Delete par2-file only if there were files for unpacking.
|
||||||
|
rm *.[pP][aA][rR]2 >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$JoinTS" = "yes" ]; then
|
||||||
|
# Join any split .ts files if they are named xxxx.0000.ts xxxx.0001.ts
|
||||||
|
# They will be joined together to a file called xxxx.0001.ts
|
||||||
|
if (ls *.ts >/dev/null 2>&1); then
|
||||||
|
echo "[INFO] Post-Process: Joining ts-files"
|
||||||
|
tsname=`find . -name "*0001.ts" |awk -F/ '{print $NF}'`
|
||||||
|
cat *0???.ts > ./$tsname
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove all the split .ts files
|
||||||
|
echo "[INFO] Post-Process: Deleting source ts-files"
|
||||||
|
rm *0???.ts >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$RenameIMG" = "yes" ]; then
|
||||||
|
# Rename img file to iso
|
||||||
|
# It will be renamed to .img.iso so you can see that it has been renamed
|
||||||
|
if (ls *.img >/dev/null 2>&1); then
|
||||||
|
echo "[INFO] Post-Process: Renaming img-files to iso"
|
||||||
|
imgname=`find . -name "*.img" |awk -F/ '{print $NF}'`
|
||||||
|
mv $imgname $imgname.iso
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$SickBeard" = "yes" -a "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -e "$SabToSickBeard" ]; then
|
||||||
|
# Call SickBeard's postprocessing script
|
||||||
|
echo "[INFO] Post-Process: Running SickBeard's postprocessing script"
|
||||||
|
#$PythonCmd $SabToSickBeard "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" >/dev/null 2>&1
|
||||||
|
$PythonCmd $SabToSickBeard "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Check if destination directory was set in postprocessing parameters
|
||||||
|
# (for current nzb-file) via web-interface or via command line with
|
||||||
|
# "nzbget -E G O DestDir=/new/path <ID>"
|
||||||
|
if [ "$NZBPR_DestDir" != "" ]; then
|
||||||
|
mkdir $NZBPR_DestDir
|
||||||
|
mv * $NZBPR_DestDir >/dev/null 2>&1
|
||||||
|
cd ..
|
||||||
|
rmdir $NZBPP_DIRECTORY
|
||||||
|
fi
|
||||||
|
|
||||||
|
# All OK, requesting cleaning up of download queue
|
||||||
|
do_exit $POSTPROCESS_SUCCESS
|
|
@ -11,15 +11,15 @@ PythonCmd=/usr/local/python/bin/python
|
||||||
NzbToSickBeard=/usr/local/nzbget/var/nzbToSickBeard.py
|
NzbToSickBeard=/usr/local/nzbget/var/nzbToSickBeard.py
|
||||||
|
|
||||||
# Set the full path where completed movies should be placed
|
# Set the full path where completed movies should be placed
|
||||||
# before CouchPotato's Renamer is called
|
# before SickBeard's Renamer is called
|
||||||
TV_DL_DIR=/usr/local/nzbget/complete/tv
|
TvDownloadDir=/usr/local/nzbget/complete/tv
|
||||||
|
|
||||||
# Set the full path to nzbToCouchpotato.py for Couchpotato's postprocessing
|
# Set the full path to nzbToCouchpotato.py for Couchpotato's postprocessing
|
||||||
NzbToCouchPotato=/usr/local/nzbget/var/nzbToCouchPotato.py
|
NzbToCouchPotato=/usr/local/nzbget/var/nzbToCouchPotato.py
|
||||||
|
|
||||||
# Set the full path where completed movies should be placed
|
# Set the full path where completed movies should be placed
|
||||||
# before CouchPotato's Renamer is called
|
# before CouchPotato's Renamer is called
|
||||||
MOVIES_DL_DIR=/usr/local/nzbget/complete/movies
|
MoviesDownloadDir=/usr/local/nzbget/complete/movies
|
||||||
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
@ -49,6 +49,8 @@ CouchPotato=yes
|
||||||
# Category for Couchpotato's postprocessing (eg. movies)
|
# Category for Couchpotato's postprocessing (eg. movies)
|
||||||
CouchPotatoCategory=movies
|
CouchPotatoCategory=movies
|
||||||
|
|
||||||
|
# Clean up list. (space seperated, default *.nzb *.sfv *.1)
|
||||||
|
FileCleanUp=*.nzb *.sfv *.1
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
### POSTPROCESSING-PARAMETERS ###
|
### POSTPROCESSING-PARAMETERS ###
|
||||||
|
|
|
@ -164,6 +164,17 @@ if [ "$NZBPP_PARSTATUS" -eq 1 -o "$NZBPP_PARSTATUS" -eq 3 -o "$NZBPP_PARFAILED"
|
||||||
echo "[WARNING] Post-Process: Par-check successful, but Par-repair disabled, exiting"
|
echo "[WARNING] Post-Process: Par-check successful, but Par-repair disabled, exiting"
|
||||||
else
|
else
|
||||||
echo "[WARNING] Post-Process: Par-check failed, exiting"
|
echo "[WARNING] Post-Process: Par-check failed, exiting"
|
||||||
|
# Send notifications to SickBeard or CouchPotato that Par-check failed
|
||||||
|
if [ "$SickBeard" = "yes" -a "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -e "$NzbToSickBeard" ]; then
|
||||||
|
# Call SickBeard's postprocessing script
|
||||||
|
echo "[INFO] Post-Process: Running SickBeard's postprocessing script to notify Par-check failed"
|
||||||
|
$PythonCmd $NzbToSickBeard "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "1" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
if [ "$CouchPotato" = "yes" -a "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -e "$NzbToCouchPotato" ]; then
|
||||||
|
# Call CouchPotato's postprocessing script
|
||||||
|
echo "[INFO] Post-Process: Running CouchPotato's postprocessing script to notify Par-check failed"
|
||||||
|
$PythonCmd $NzbToCouchPotato "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "1" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
exit $POSTPROCESS_ERROR
|
exit $POSTPROCESS_ERROR
|
||||||
fi
|
fi
|
||||||
|
@ -226,6 +237,17 @@ if (ls *.rar >/dev/null 2>&1); then
|
||||||
if (ls *.[pP][aA][rR]2 >/dev/null 2>&1); then
|
if (ls *.[pP][aA][rR]2 >/dev/null 2>&1); then
|
||||||
echo "[INFO] Post-Process: Requesting par-repair"
|
echo "[INFO] Post-Process: Requesting par-repair"
|
||||||
exit $POSTPROCESS_PARCHECK_ALL
|
exit $POSTPROCESS_PARCHECK_ALL
|
||||||
|
# Send notifications to SickBeard or CouchPotato that unrar (second pass) failed
|
||||||
|
if [ "$SickBeard" = "yes" -a "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -e "$NzbToSickBeard" ]; then
|
||||||
|
# Call SickBeard's postprocessing script
|
||||||
|
echo "[INFO] Post-Process: Running SickBeard's postprocessing script to notify unrar (second pass) failed"
|
||||||
|
$PythonCmd $NzbToSickBeard "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "1">/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
if [ "$CouchPotato" = "yes" -a "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -e "$NzbToCouchPotato" ]; then
|
||||||
|
# Call CouchPotato's postprocessing script
|
||||||
|
echo "[INFO] Post-Process: Running CouchPotato's postprocessing script to notify unrar (second pass) failed"
|
||||||
|
$PythonCmd $NzbToCouchPotato "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "1">/dev/null 2>&1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
exit $POSTPROCESS_ERROR
|
exit $POSTPROCESS_ERROR
|
||||||
fi
|
fi
|
||||||
|
@ -282,9 +304,9 @@ fi
|
||||||
# Clean up
|
# Clean up
|
||||||
echo "[INFO] Post-Process: Cleaning up"
|
echo "[INFO] Post-Process: Cleaning up"
|
||||||
chmod -R a+rw .
|
chmod -R a+rw .
|
||||||
rm *.nzb >/dev/null 2>&1
|
# Clean up list, space seperated from GUI
|
||||||
rm *.sfv >/dev/null 2>&1
|
rm $FileCleanUp >/dev/null 2>&1
|
||||||
rm *.1 >/dev/null 2>&1
|
# Removed by default
|
||||||
rm _brokenlog.txt >/dev/null 2>&1
|
rm _brokenlog.txt >/dev/null 2>&1
|
||||||
if [ "$Unrared" -eq 1 ]; then
|
if [ "$Unrared" -eq 1 ]; then
|
||||||
# Delete par2-file only if there were files for unpacking.
|
# Delete par2-file only if there were files for unpacking.
|
||||||
|
@ -320,31 +342,32 @@ fi
|
||||||
############################
|
############################
|
||||||
|
|
||||||
# Move categories to /share/yourdirectory and remove download destination directory
|
# Move categories to /share/yourdirectory and remove download destination directory
|
||||||
if [ "$NZBPP_CATEGORY" = "$SickBeardCategory" ]; then
|
# Test for category and ensure the passed directory exists as a directory.
|
||||||
echo "[INFO] Post-Process: Moving TV shows to $TV_DL_DIR"
|
if [ "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -d "$TvDownloadDir" ]; then
|
||||||
cp -R "$NZBPP_DIRECTORY" "$TV_DL_DIR" >/dev/null 2>&1
|
echo "[INFO] Post-Process: Moving TV shows to $TvDownloadDir"
|
||||||
|
cp -R "$NZBPP_DIRECTORY" "$TvDownloadDir" >/dev/null 2>&1
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
echo "[ERROR] Post-Process: Moving to $TV_DL_DIR"
|
echo "[ERROR] Post-Process: Moving to $TvDownloadDir"
|
||||||
exit $POSTPROCESS_ERROR
|
exit $POSTPROCESS_ERROR
|
||||||
else
|
else
|
||||||
rm -fr *
|
rm -fr *
|
||||||
cd ..
|
cd ..
|
||||||
rmdir "$NZBPP_DIRECTORY"
|
rmdir "$NZBPP_DIRECTORY"
|
||||||
NZBPP_DIRECTORY="$TV_DL_DIR"
|
NZBPP_DIRECTORY="$TvDownloadDir"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
# Test for category and ensure the passed directory exists as a directory.
|
||||||
if [ "$NZBPP_CATEGORY" = "$CouchPotatoCategory" ]; then
|
if [ "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -d "$MoviesDownloadDir" ]; then
|
||||||
echo "[INFO] Post-Process: Moving Movies to $MOVIES_DL_DIR"
|
echo "[INFO] Post-Process: Moving Movies to $MoviesDownloadDir"
|
||||||
cp -R "$NZBPP_DIRECTORY" "$MOVIES_DL_DIR" >/dev/null 2>&1
|
cp -R "$NZBPP_DIRECTORY" "$MoviesDownloadDir" >/dev/null 2>&1
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
echo "[ERROR] Post-Process: Moving to $MOVIES_DL_DIR"
|
echo "[ERROR] Post-Process: Moving to $MoviesDownloadDir"
|
||||||
exit $POSTPROCESS_ERROR
|
exit $POSTPROCESS_ERROR
|
||||||
else
|
else
|
||||||
rm -fr *
|
rm -fr *
|
||||||
cd ..
|
cd ..
|
||||||
rmdir "$NZBPP_DIRECTORY"
|
rmdir "$NZBPP_DIRECTORY"
|
||||||
NZBPP_DIRECTORY="$MOVIES_DL_DIR"
|
NZBPP_DIRECTORY="$MoviesDownloadDir"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -355,13 +378,13 @@ fi
|
||||||
if [ "$SickBeard" = "yes" -a "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -e "$NzbToSickBeard" ]; then
|
if [ "$SickBeard" = "yes" -a "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -e "$NzbToSickBeard" ]; then
|
||||||
# Call SickBeard's postprocessing script
|
# Call SickBeard's postprocessing script
|
||||||
echo "[INFO] Post-Process: Running SickBeard's postprocessing script"
|
echo "[INFO] Post-Process: Running SickBeard's postprocessing script"
|
||||||
$PythonCmd $NzbToSickBeard "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" >/dev/null 2>&1
|
$PythonCmd $NzbToSickBeard "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "0" >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$CouchPotato" = "yes" -a "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -e "$NzbToCouchPotato" ]; then
|
if [ "$CouchPotato" = "yes" -a "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -e "$NzbToCouchPotato" ]; then
|
||||||
# Call CouchPotato's postprocessing script
|
# Call CouchPotato's postprocessing script
|
||||||
echo "[INFO] Post-Process: Running CouchPotato's postprocessing script"
|
echo "[INFO] Post-Process: Running CouchPotato's postprocessing script"
|
||||||
$PythonCmd $NzbToCouchPotato "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" >/dev/null 2>&1
|
$PythonCmd $NzbToCouchPotato "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "0" >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if destination directory was set in postprocessing parameters
|
# Check if destination directory was set in postprocessing parameters
|
||||||
|
|
|
@ -164,6 +164,17 @@ if [ "$NZBPP_PARSTATUS" -eq 1 -o "$NZBPP_PARSTATUS" -eq 3 -o "$NZBPP_PARFAILED"
|
||||||
echo "[WARNING] Post-Process: Par-check successful, but Par-repair disabled, exiting"
|
echo "[WARNING] Post-Process: Par-check successful, but Par-repair disabled, exiting"
|
||||||
else
|
else
|
||||||
echo "[WARNING] Post-Process: Par-check failed, exiting"
|
echo "[WARNING] Post-Process: Par-check failed, exiting"
|
||||||
|
# Send notifications to SickBeard or CouchPotato that Par-check failed
|
||||||
|
if [ "$SickBeard" = "yes" -a "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -e "$NzbToSickBeard" ]; then
|
||||||
|
# Call SickBeard's postprocessing script
|
||||||
|
echo "[INFO] Post-Process: Running SickBeard's postprocessing script to notify Par-check failed"
|
||||||
|
$PythonCmd $NzbToSickBeard "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "1" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
if [ "$CouchPotato" = "yes" -a "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -e "$NzbToCouchPotato" ]; then
|
||||||
|
# Call CouchPotato's postprocessing script
|
||||||
|
echo "[INFO] Post-Process: Running CouchPotato's postprocessing script to notify Par-check failed"
|
||||||
|
$PythonCmd $NzbToCouchPotato "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "1" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
exit $POSTPROCESS_ERROR
|
exit $POSTPROCESS_ERROR
|
||||||
fi
|
fi
|
||||||
|
@ -226,6 +237,17 @@ if (ls *.rar >/dev/null 2>&1); then
|
||||||
if (ls *.[pP][aA][rR]2 >/dev/null 2>&1); then
|
if (ls *.[pP][aA][rR]2 >/dev/null 2>&1); then
|
||||||
echo "[INFO] Post-Process: Requesting par-repair"
|
echo "[INFO] Post-Process: Requesting par-repair"
|
||||||
exit $POSTPROCESS_PARCHECK_ALL
|
exit $POSTPROCESS_PARCHECK_ALL
|
||||||
|
# Send notifications to SickBeard or CouchPotato that unrar (second pass) failed
|
||||||
|
if [ "$SickBeard" = "yes" -a "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -e "$NzbToSickBeard" ]; then
|
||||||
|
# Call SickBeard's postprocessing script
|
||||||
|
echo "[INFO] Post-Process: Running SickBeard's postprocessing script to notify unrar (second pass) failed"
|
||||||
|
$PythonCmd $NzbToSickBeard "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "1">/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
if [ "$CouchPotato" = "yes" -a "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -e "$NzbToCouchPotato" ]; then
|
||||||
|
# Call CouchPotato's postprocessing script
|
||||||
|
echo "[INFO] Post-Process: Running CouchPotato's postprocessing script to notify unrar (second pass) failed"
|
||||||
|
$PythonCmd $NzbToCouchPotato "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "1">/dev/null 2>&1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
exit $POSTPROCESS_ERROR
|
exit $POSTPROCESS_ERROR
|
||||||
fi
|
fi
|
||||||
|
@ -282,9 +304,9 @@ fi
|
||||||
# Clean up
|
# Clean up
|
||||||
echo "[INFO] Post-Process: Cleaning up"
|
echo "[INFO] Post-Process: Cleaning up"
|
||||||
chmod -R a+rw .
|
chmod -R a+rw .
|
||||||
rm *.nzb >/dev/null 2>&1
|
# Clean up list, space seperated from GUI
|
||||||
rm *.sfv >/dev/null 2>&1
|
rm $FileCleanUp >/dev/null 2>&1
|
||||||
rm *.1 >/dev/null 2>&1
|
# Removed by default
|
||||||
rm _brokenlog.txt >/dev/null 2>&1
|
rm _brokenlog.txt >/dev/null 2>&1
|
||||||
if [ "$Unrared" -eq 1 ]; then
|
if [ "$Unrared" -eq 1 ]; then
|
||||||
# Delete par2-file only if there were files for unpacking.
|
# Delete par2-file only if there were files for unpacking.
|
||||||
|
@ -320,31 +342,32 @@ fi
|
||||||
############################
|
############################
|
||||||
|
|
||||||
# Move categories to /share/yourdirectory and remove download destination directory
|
# Move categories to /share/yourdirectory and remove download destination directory
|
||||||
if [ "$NZBPP_CATEGORY" = "$SickBeardCategory" ]; then
|
# Test for category and ensure the passed directory exists as a directory.
|
||||||
echo "[INFO] Post-Process: Moving TV shows to $TV_DL_DIR"
|
if [ "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -d "$TvDownloadDir" ]; then
|
||||||
cp -R "$NZBPP_DIRECTORY" "$TV_DL_DIR" >/dev/null 2>&1
|
echo "[INFO] Post-Process: Moving TV shows to $TvDownloadDir"
|
||||||
|
cp -R "$NZBPP_DIRECTORY" "$TvDownloadDir" >/dev/null 2>&1
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
echo "[ERROR] Post-Process: Moving to $TV_DL_DIR"
|
echo "[ERROR] Post-Process: Moving to $TvDownloadDir"
|
||||||
exit $POSTPROCESS_ERROR
|
exit $POSTPROCESS_ERROR
|
||||||
else
|
else
|
||||||
rm -fr *
|
rm -fr *
|
||||||
cd ..
|
cd ..
|
||||||
rmdir "$NZBPP_DIRECTORY"
|
rmdir "$NZBPP_DIRECTORY"
|
||||||
NZBPP_DIRECTORY="$TV_DL_DIR"
|
NZBPP_DIRECTORY="$TvDownloadDir"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
# Test for category and ensure the passed directory exists as a directory.
|
||||||
if [ "$NZBPP_CATEGORY" = "$CouchPotatoCategory" ]; then
|
if [ "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -d "$MoviesDownloadDir" ]; then
|
||||||
echo "[INFO] Post-Process: Moving Movies to $MOVIES_DL_DIR"
|
echo "[INFO] Post-Process: Moving Movies to $MoviesDownloadDir"
|
||||||
cp -R "$NZBPP_DIRECTORY" "$MOVIES_DL_DIR" >/dev/null 2>&1
|
cp -R "$NZBPP_DIRECTORY" "$MoviesDownloadDir" >/dev/null 2>&1
|
||||||
if [ "$?" -ne 0 ]; then
|
if [ "$?" -ne 0 ]; then
|
||||||
echo "[ERROR] Post-Process: Moving to $MOVIES_DL_DIR"
|
echo "[ERROR] Post-Process: Moving to $MoviesDownloadDir"
|
||||||
exit $POSTPROCESS_ERROR
|
exit $POSTPROCESS_ERROR
|
||||||
else
|
else
|
||||||
rm -fr *
|
rm -fr *
|
||||||
cd ..
|
cd ..
|
||||||
rmdir "$NZBPP_DIRECTORY"
|
rmdir "$NZBPP_DIRECTORY"
|
||||||
NZBPP_DIRECTORY="$MOVIES_DL_DIR"
|
NZBPP_DIRECTORY="$MoviesDownloadDir"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -355,13 +378,13 @@ fi
|
||||||
if [ "$SickBeard" = "yes" -a "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -e "$NzbToSickBeard" ]; then
|
if [ "$SickBeard" = "yes" -a "$NZBPP_CATEGORY" = "$SickBeardCategory" -a -e "$NzbToSickBeard" ]; then
|
||||||
# Call SickBeard's postprocessing script
|
# Call SickBeard's postprocessing script
|
||||||
echo "[INFO] Post-Process: Running SickBeard's postprocessing script"
|
echo "[INFO] Post-Process: Running SickBeard's postprocessing script"
|
||||||
$PythonCmd $NzbToSickBeard "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" >/dev/null 2>&1
|
$PythonCmd $NzbToSickBeard "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "0" >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$CouchPotato" = "yes" -a "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -e "$NzbToCouchPotato" ]; then
|
if [ "$CouchPotato" = "yes" -a "$NZBPP_CATEGORY" = "$CouchPotatoCategory" -a -e "$NzbToCouchPotato" ]; then
|
||||||
# Call CouchPotato's postprocessing script
|
# Call CouchPotato's postprocessing script
|
||||||
echo "[INFO] Post-Process: Running CouchPotato's postprocessing script"
|
echo "[INFO] Post-Process: Running CouchPotato's postprocessing script"
|
||||||
$PythonCmd $NzbToCouchPotato "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" >/dev/null 2>&1
|
$PythonCmd $NzbToCouchPotato "$NZBPP_DIRECTORY" "$NZBPP_NZBFILENAME" "0" >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if destination directory was set in postprocessing parameters
|
# Check if destination directory was set in postprocessing parameters
|
||||||
|
|
|
@ -36,15 +36,15 @@ PythonCmd=/usr/local/python/bin/python
|
||||||
NzbToSickBeard=/usr/local/nzbget/var/nzbToSickBeard.py
|
NzbToSickBeard=/usr/local/nzbget/var/nzbToSickBeard.py
|
||||||
|
|
||||||
# Set the full path where completed movies should be placed
|
# Set the full path where completed movies should be placed
|
||||||
# before CouchPotato's Renamer is called
|
# before SickBeard's Renamer is called
|
||||||
TV_DL_DIR=/usr/local/nzbget/complete/tv
|
TvDownloadDir=/usr/local/nzbget/complete/tv
|
||||||
|
|
||||||
# Set the full path to nzbToCouchpotato.py for Couchpotato's postprocessing
|
# Set the full path to nzbToCouchpotato.py for Couchpotato's postprocessing
|
||||||
NzbToCouchPotato=/usr/local/nzbget/var/nzbToCouchPotato.py
|
NzbToCouchPotato=/usr/local/nzbget/var/nzbToCouchPotato.py
|
||||||
|
|
||||||
# Set the full path where completed movies should be placed
|
# Set the full path where completed movies should be placed
|
||||||
# before CouchPotato's Renamer is called
|
# before CouchPotato's Renamer is called
|
||||||
MOVIES_DL_DIR=/usr/local/nzbget/complete/movies
|
MoviesDownloadDir=/usr/local/nzbget/complete/movies
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
### OPTIONS ###
|
### OPTIONS ###
|
||||||
|
@ -70,6 +70,8 @@ CouchPotato=yes
|
||||||
# Category for Couchpotato's postprocessing.
|
# Category for Couchpotato's postprocessing.
|
||||||
CouchPotatoCategory=movies
|
CouchPotatoCategory=movies
|
||||||
|
|
||||||
|
# Clean up list. (space seperated, default *.nzb *.sfv *.1)
|
||||||
|
FileCleanUp=*.nzb *.sfv *.1
|
||||||
##############################################################################
|
##############################################################################
|
||||||
### POSTPROCESSING-PARAMETERS ###
|
### POSTPROCESSING-PARAMETERS ###
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue