mirror of
https://github.com/clinton-hall/nzbToMedia.git
synced 2024-11-13 17:10:09 -08:00
796 lines
19 KiB
Python
Executable File
796 lines
19 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# coding=utf-8
|
|
#
|
|
##############################################################################
|
|
### NZBGET POST-PROCESSING SCRIPT ###
|
|
|
|
# Post-Process to CouchPotato, SickBeard, Sonarr, Mylar, Gamez, HeadPhones,
|
|
# LazyLibrarian, Radarr, Lidarr, Watcher3
|
|
#
|
|
# This script sends the download to your automated media management servers.
|
|
#
|
|
# NOTE: This script requires Python to be installed on your system.
|
|
|
|
##############################################################################
|
|
### OPTIONS ###
|
|
|
|
## General
|
|
|
|
# Auto Update nzbToMedia (0, 1).
|
|
#
|
|
# Set to 1 if you want nzbToMedia to automatically check for and update to the latest version
|
|
#auto_update=0
|
|
|
|
# Check Media for corruption (0, 1).
|
|
#
|
|
# Enable/Disable media file checking using ffprobe.
|
|
#check_media=1
|
|
|
|
# Required Language
|
|
#
|
|
# Required Audio Language for media to be deemed valid e.g. = eng will only accept a video as valid if it contains English audio. Leave blank to disregard.
|
|
#require_lan=
|
|
|
|
# Safe Mode protection of DestDir (0, 1).
|
|
#
|
|
# Enable/Disable a safety check to ensure we don't process all downloads in the default_downloadDirectory by mistake.
|
|
#safe_mode=1
|
|
|
|
# Disable additional extraction checks for failed (0, 1).
|
|
#
|
|
# Turn this on to disable additional extraction attempts for failed downloads. Default = 0 this will attempt to extract and verify if media is present.
|
|
#no_extract_failed = 0
|
|
|
|
## CouchPotato
|
|
|
|
# CouchPotato script category.
|
|
#
|
|
# category that gets called for post-processing with CouchPotatoServer.
|
|
#cpsCategory=movie
|
|
|
|
# CouchPotato api key.
|
|
#cpsapikey=
|
|
|
|
# CouchPotato host.
|
|
#
|
|
# The ipaddress for your CouchPotato server. e.g For the Same system use localhost or 127.0.0.1
|
|
#cpshost=localhost
|
|
|
|
# CouchPotato port.
|
|
#cpsport=5050
|
|
|
|
# CouchPotato uses ssl (0, 1).
|
|
#
|
|
# Set to 1 if using ssl, else set to 0.
|
|
#cpsssl=0
|
|
|
|
# CouchPotato URL_Base
|
|
#
|
|
# set this if using a reverse proxy.
|
|
#cpsweb_root=
|
|
|
|
# CouchPotato Postprocess Method (renamer, manage).
|
|
#
|
|
# use "renamer" for CPS renamer (default) or "manage" to call a manage update.
|
|
#cpsmethod=renamer
|
|
|
|
# CouchPotato OMDB API Key.
|
|
#
|
|
# api key for www.omdbapi.com (used as alternative to imdb to assist with movie identification).
|
|
#cpsomdbapikey=
|
|
|
|
# CouchPotato Delete Failed Downloads (0, 1).
|
|
#
|
|
# set to 1 to delete failed, or 0 to leave files in place.
|
|
#cpsdelete_failed=0
|
|
|
|
# CouchPotato wait_for
|
|
#
|
|
# Set the number of minutes to wait after calling the renamer, to check the movie has changed status.
|
|
#cpswait_for=2
|
|
|
|
# Couchpotato and NZBGet are a different system (0, 1).
|
|
#
|
|
# Enable to replace local path with the path as per the mountPoints below.
|
|
#cpsremote_path=0
|
|
|
|
## Radarr
|
|
|
|
# Radarr script category.
|
|
#
|
|
# category that gets called for post-processing with NzbDrone.
|
|
#raCategory=movies2
|
|
|
|
# Radarr host.
|
|
#
|
|
# The ipaddress for your Radarr server. e.g For the Same system use localhost or 127.0.0.1
|
|
#rahost=localhost
|
|
|
|
# Radarr port.
|
|
#raport=7878
|
|
|
|
# Radarr API key.
|
|
#raapikey=
|
|
|
|
# Radarr uses ssl (0, 1).
|
|
#
|
|
# Set to 1 if using ssl, else set to 0.
|
|
#rassl=0
|
|
|
|
# Radarr web_root
|
|
#
|
|
# set this if using a reverse proxy.
|
|
#raweb_root=
|
|
|
|
# Radarr wait_for
|
|
#
|
|
# Set the number of minutes to wait after calling the renamer, to check the episode has changed status.
|
|
#rawait_for=6
|
|
|
|
# Radarr OMDB API Key.
|
|
#
|
|
# api key for www.omdbapi.com (used as alternative to imdb to assist with movie identification).
|
|
#raomdbapikey=
|
|
|
|
# Radarr import mode (Move, Copy).
|
|
#
|
|
# set to define import behaviour Move or Copy
|
|
#raimportmode=Copy
|
|
|
|
# Radarr Delete Failed Downloads (0, 1).
|
|
#
|
|
# set to 1 to delete failed, or 0 to leave files in place.
|
|
#radelete_failed=0
|
|
|
|
# Radarr and NZBGet are a different system (0, 1).
|
|
#
|
|
# Enable to replace local path with the path as per the mountPoints below.
|
|
#raremote_path=0
|
|
|
|
## Watcher3
|
|
|
|
# Wather3 script category.
|
|
#
|
|
# category that gets called for post-processing with Watcher3.
|
|
#W3Category=movie
|
|
|
|
# Watcher3 api key.
|
|
#W3apikey=
|
|
|
|
# Watcher3 host.
|
|
#
|
|
# The ipaddress for your Watcher3 server. e.g For the Same system use localhost or 127.0.0.1
|
|
#W3host=localhost
|
|
|
|
# Watcher3 port.
|
|
#W3port=9090
|
|
|
|
# Watcher3 uses ssl (0, 1).
|
|
#
|
|
# Set to 1 if using ssl, else set to 0.
|
|
#W3ssl=0
|
|
|
|
# Watcher3 URL_Base
|
|
#
|
|
# set this if using a reverse proxy.
|
|
#W3web_root=
|
|
|
|
# OMDB API Key.
|
|
#
|
|
# api key for www.omdbapi.com (used as alternative to imdb to assist with movie identification).
|
|
#W3omdbapikey=
|
|
|
|
# Watcher3 Delete Failed Downloads (0, 1).
|
|
#
|
|
# set to 1 to delete failed, or 0 to leave files in place.
|
|
#W3delete_failed=0
|
|
|
|
# Watcher3 wait_for
|
|
#
|
|
# Set the number of minutes to wait after calling the renamer, to check the movie has changed status.
|
|
#W3wait_for=2
|
|
|
|
# Watcher3 and NZBGet are a different system (0, 1).
|
|
#
|
|
# Enable to replace local path with the path as per the mountPoints below.
|
|
#W3remote_path=0
|
|
|
|
## SickBeard
|
|
|
|
# SickBeard script category.
|
|
#
|
|
# category that gets called for post-processing with SickBeard.
|
|
#sbCategory=tv
|
|
|
|
# SickBeard host.
|
|
#
|
|
# The ipaddress for your SickBeard/SickRage server. e.g For the Same system use localhost or 127.0.0.1
|
|
#sbhost=localhost
|
|
|
|
# SickBeard port.
|
|
#sbport=8081
|
|
|
|
# SickBeard api key. For SickChill, Medusa, SiCKRAGE only.
|
|
#sbapikey=
|
|
|
|
# SickBeard username.
|
|
#sbusername=
|
|
|
|
# SickBeard password.
|
|
#sbpassword=
|
|
|
|
# SickBeard uses ssl (0, 1).
|
|
#
|
|
# Set to 1 if using ssl, else set to 0.
|
|
#sbssl=0
|
|
|
|
# SickBeard web_root
|
|
#
|
|
# set this if using a reverse proxy.
|
|
#sbweb_root=
|
|
|
|
# SickBeard watch directory.
|
|
#
|
|
# set this if SickBeard and nzbGet are on different systems.
|
|
#sbwatch_dir=
|
|
|
|
# SickBeard fork.
|
|
#
|
|
# set to default or auto to auto-detect the custom fork type.
|
|
#sbfork=auto
|
|
|
|
# SickBeard Delete Failed Downloads (0, 1).
|
|
#
|
|
# set to 1 to delete failed, or 0 to leave files in place.
|
|
#sbdelete_failed=0
|
|
|
|
# SickBeard Ignore associated subtitle check (0, 1).
|
|
#
|
|
# set to 1 to ignore subtitles check, or 0 to don't check.
|
|
#sbignore_subs=0
|
|
|
|
# SickBeard process method.
|
|
#
|
|
# set this to move, copy, hardlink, symlink as appropriate if you want to over-ride SB defaults. Leave blank to use SB default.
|
|
#sbprocess_method=
|
|
|
|
# SickBeard and NZBGet are a different system (0, 1).
|
|
#
|
|
# Enable to replace local path with the path as per the mountPoints below.
|
|
#sbremote_path=0
|
|
|
|
## NzbDrone
|
|
|
|
# NzbDrone script category.
|
|
#
|
|
# category that gets called for post-processing with NzbDrone.
|
|
#ndCategory=tv2
|
|
|
|
# NzbDrone host.
|
|
#
|
|
# The ipaddress for your NzbDrone/Sonarr server. e.g For the Same system use localhost or 127.0.0.1
|
|
#ndhost=localhost
|
|
|
|
# NzbDrone port.
|
|
#ndport=8989
|
|
|
|
# NzbDrone API key.
|
|
#ndapikey=
|
|
|
|
# NzbDrone uses SSL (0, 1).
|
|
#
|
|
# Set to 1 if using SSL, else set to 0.
|
|
#ndssl=0
|
|
|
|
# NzbDrone web root.
|
|
#
|
|
# set this if using a reverse proxy.
|
|
#ndweb_root=
|
|
|
|
# NzbDrone wait_for
|
|
#
|
|
# Set the number of minutes to wait after calling the renamer, to check the episode has changed status.
|
|
#ndwait_for=6
|
|
|
|
# NzbDrone import mode (Move, Copy).
|
|
#
|
|
# set to define import behaviour Move or Copy
|
|
#ndimportmode=Copy
|
|
|
|
# NzbDrone Delete Failed Downloads (0, 1).
|
|
#
|
|
# set to 1 to delete failed, or 0 to leave files in place.
|
|
#nddelete_failed=0
|
|
|
|
# NzbDrone and NZBGet are a different system (0, 1).
|
|
#
|
|
# Enable to replace local path with the path as per the mountPoints below.
|
|
#ndremote_path=0
|
|
|
|
## HeadPhones
|
|
|
|
# HeadPhones script category.
|
|
#
|
|
# category that gets called for post-processing with HeadHones.
|
|
#hpCategory=music
|
|
|
|
# HeadPhones api key.
|
|
#hpapikey=
|
|
|
|
# HeadPhones host.
|
|
#
|
|
# The ipaddress for your HeadPhones server. e.g For the Same system use localhost or 127.0.0.1
|
|
#hphost=localhost
|
|
|
|
# HeadPhones port.
|
|
#hpport=8181
|
|
|
|
# HeadPhones uses ssl (0, 1).
|
|
#
|
|
# Set to 1 if using ssl, else set to 0.
|
|
#hpssl=0
|
|
|
|
# HeadPhones web_root
|
|
#
|
|
# set this if using a reverse proxy.
|
|
#hpweb_root=
|
|
|
|
# HeadPhones Delete Failed Downloads (0, 1).
|
|
#
|
|
# set to 1 to delete failed, or 0 to leave files in place.
|
|
#hpdelete_failed=0
|
|
|
|
# HeadPhones and NZBGet are a different system (0, 1).
|
|
#
|
|
# Enable to replace local path with the path as per the mountPoints below.
|
|
#hpremote_path=0
|
|
|
|
## Lidarr
|
|
|
|
# Lidarr script category.
|
|
#
|
|
# category that gets called for post-processing with NzbDrone.
|
|
#liCategory=music2
|
|
|
|
# Lidarr host.
|
|
#
|
|
# The ipaddress for your Lidarr server. e.g For the Same system use localhost or 127.0.0.1
|
|
#lihost=localhost
|
|
|
|
# Lidarr port.
|
|
#liport=8686
|
|
|
|
# Lidarr API key.
|
|
#liapikey=
|
|
|
|
# Lidarr uses ssl (0, 1).
|
|
#
|
|
# Set to 1 if using ssl, else set to 0.
|
|
#lissl=0
|
|
|
|
# Lidarr web_root
|
|
#
|
|
# set this if using a reverse proxy.
|
|
#liweb_root=
|
|
|
|
# Lidarr wait_for
|
|
#
|
|
# Set the number of minutes to wait after calling the renamer, to check the episode has changed status.
|
|
#liwait_for=6
|
|
|
|
# Lidarr Delete Failed Downloads (0, 1).
|
|
#
|
|
# set to 1 to delete failed, or 0 to leave files in place.
|
|
#lidelete_failed=0
|
|
|
|
# Lidarr and NZBGet are a different system (0, 1).
|
|
#
|
|
# Enable to replace local path with the path as per the mountPoints below.
|
|
#liremote_path=0
|
|
|
|
## Mylar
|
|
|
|
# Mylar script category.
|
|
#
|
|
# category that gets called for post-processing with Mylar.
|
|
#myCategory=comics
|
|
|
|
# Mylar host.
|
|
#
|
|
# The ipaddress for your Mylar server. e.g For the Same system use localhost or 127.0.0.1
|
|
#myhost=localhost
|
|
|
|
# Mylar port.
|
|
#myport=8090
|
|
|
|
# Mylar api key.
|
|
#myapikey=
|
|
|
|
# Mylar uses ssl (0, 1).
|
|
#
|
|
# Set to 1 if using ssl, else set to 0.
|
|
#myssl=0
|
|
|
|
# Mylar web_root
|
|
#
|
|
# set this if using a reverse proxy.
|
|
#myweb_root=
|
|
|
|
# Mylar wait_for
|
|
#
|
|
# Set the number of minutes to wait after calling the force process, to check the issue has changed status.
|
|
#myswait_for=1
|
|
|
|
# Mylar and NZBGet are a different system (0, 1).
|
|
#
|
|
# Enable to replace local path with the path as per the mountPoints below.
|
|
#myremote_path=0
|
|
|
|
## Gamez
|
|
|
|
# Gamez script category.
|
|
#
|
|
# category that gets called for post-processing with Gamez.
|
|
#gzCategory=games
|
|
|
|
# Gamez api key.
|
|
#gzapikey=
|
|
|
|
# Gamez host.
|
|
#
|
|
# The ipaddress for your Gamez server. e.g For the Same system use localhost or 127.0.0.1
|
|
#gzhost=localhost
|
|
|
|
# Gamez port.
|
|
#gzport=8085
|
|
|
|
# Gamez uses ssl (0, 1).
|
|
#
|
|
# Set to 1 if using ssl, else set to 0.
|
|
#gzssl=0
|
|
|
|
# Gamez library
|
|
#
|
|
# move downloaded games here.
|
|
#gzlibrary
|
|
|
|
# Gamez web_root
|
|
#
|
|
# set this if using a reverse proxy.
|
|
#gzweb_root=
|
|
|
|
# Gamez and NZBGet are a different system (0, 1).
|
|
#
|
|
# Enable to replace local path with the path as per the mountPoints below.
|
|
#gzremote_path=0
|
|
|
|
## LazyLibrarian
|
|
|
|
# LazyLibrarian script category.
|
|
#
|
|
# category that gets called for post-processing with LazyLibrarian.
|
|
#llCategory=books
|
|
|
|
# LazyLibrarian api key.
|
|
#llapikey=
|
|
|
|
# LazyLibrarian host.
|
|
#
|
|
# The ipaddress for your LazyLibrarian server. e.g For the Same system use localhost or 127.0.0.1
|
|
#llhost=localhost
|
|
|
|
# LazyLibrarian port.
|
|
#llport=5299
|
|
|
|
# LazyLibrarian uses ssl (0, 1).
|
|
#
|
|
# Set to 1 if using ssl, else set to 0.
|
|
#llssl=0
|
|
|
|
# LazyLibrarian web_root
|
|
#
|
|
# set this if using a reverse proxy.
|
|
#llweb_root=
|
|
|
|
# LazyLibrarian watch directory.
|
|
#
|
|
# set this to where your LazyLibrarian completed downloads are.
|
|
#llwatch_dir=
|
|
|
|
# LazyLibrarian and NZBGet are a different system (0, 1).
|
|
#
|
|
# Enable to replace local path with the path as per the mountPoints below.
|
|
#llremote_path=0
|
|
|
|
## Network
|
|
|
|
# Network Mount Points (Needed for remote path above)
|
|
#
|
|
# Enter Mount points as LocalPath,RemotePath and separate each pair with '|'
|
|
# e.g. mountPoints=/volume1/Public/,E:\|/volume2/share/,\\NAS\
|
|
#mountPoints=
|
|
|
|
## Extensions
|
|
|
|
# Media Extensions
|
|
#
|
|
# This is a list of media extensions that are used to verify that the download does contain valid media.
|
|
#mediaExtensions=.mkv,.avi,.divx,.xvid,.mov,.wmv,.mp4,.mpg,.mpeg,.vob,.iso,.ts
|
|
|
|
## Posix
|
|
|
|
# Niceness for external tasks Extractor and Transcoder.
|
|
#
|
|
# Set the Niceness value for the nice command. These range from -20 (most favorable to the process) to 19 (least favorable to the process).
|
|
# If entering an integer e.g 'niceness=4', this is added to the nice command and passed as 'nice -n4' (Default).
|
|
# If entering a comma separated list e.g. 'niceness=nice,4' this will be passed as 'nice 4' (Safer).
|
|
#niceness=nice,-n0
|
|
|
|
# ionice scheduling class (0, 1, 2, 3).
|
|
#
|
|
# Set the ionice scheduling class. 0 for none, 1 for real time, 2 for best-effort, 3 for idle.
|
|
#ionice_class=2
|
|
|
|
# ionice scheduling class data.
|
|
#
|
|
# Set the ionice scheduling class data. This defines the class data, if the class accepts an argument. For real time and best-effort, 0-7 is valid data.
|
|
#ionice_classdata=4
|
|
|
|
## Transcoder
|
|
|
|
# getSubs (0, 1).
|
|
#
|
|
# set to 1 to download subtitles.
|
|
#getSubs=0
|
|
|
|
# subLanguages.
|
|
#
|
|
# subLanguages. create a list of languages in the order you want them in your subtitles.
|
|
#subLanguages=eng,spa,fra
|
|
|
|
# Transcode (0, 1).
|
|
#
|
|
# set to 1 to transcode, otherwise set to 0.
|
|
#transcode=0
|
|
|
|
# create a duplicate, or replace the original (0, 1).
|
|
#
|
|
# set to 1 to cretae a new file or 0 to replace the original
|
|
#duplicate=1
|
|
|
|
# ignore extensions.
|
|
#
|
|
# list of extensions that won't be transcoded.
|
|
#ignoreExtensions=.avi,.mkv
|
|
|
|
# outputFastStart (0,1).
|
|
#
|
|
# outputFastStart. 1 will use -movflags + faststart. 0 will disable this from being used.
|
|
#outputFastStart=0
|
|
|
|
# outputVideoPath.
|
|
#
|
|
# outputVideoPath. Set path you want transcoded videos moved to. Leave blank to disable.
|
|
#outputVideoPath=
|
|
|
|
# processOutput (0,1).
|
|
#
|
|
# processOutput. 1 will send the outputVideoPath to SickBeard/CouchPotato. 0 will send original files.
|
|
#processOutput=0
|
|
|
|
# audioLanguage.
|
|
#
|
|
# audioLanguage. set the 3 letter language code you want as your primary audio track.
|
|
#audioLanguage=eng
|
|
|
|
# allAudioLanguages (0,1).
|
|
#
|
|
# allAudioLanguages. 1 will keep all audio tracks (uses AudioCodec3) where available.
|
|
#allAudioLanguages=0
|
|
|
|
# allSubLanguages (0,1).
|
|
#
|
|
# allSubLanguages. 1 will keep all exisiting sub languages. 0 will discare those not in your list above.
|
|
#allSubLanguages=0
|
|
|
|
# embedSubs (0,1).
|
|
#
|
|
# embedSubs. 1 will embded external sub/srt subs into your video if this is supported.
|
|
#embedSubs=1
|
|
|
|
# burnInSubtitle (0,1).
|
|
#
|
|
# burnInSubtitle. burns the default sub language into your video (needed for players that don't support subs)
|
|
#burnInSubtitle=0
|
|
|
|
# extractSubs (0,1).
|
|
#
|
|
# extractSubs. 1 will extract subs from the video file and save these as external srt files.
|
|
#extractSubs=0
|
|
|
|
# externalSubDir.
|
|
#
|
|
# externalSubDir. set the directory where subs should be saved (if not the same directory as the video)
|
|
#externalSubDir=
|
|
|
|
# outputDefault (None, iPad, iPad-1080p, iPad-720p, Apple-TV2, iPod, iPhone, PS3, xbox, Roku-1080p, Roku-720p, Roku-480p, mkv, mkv-bluray, mp4-scene-release).
|
|
#
|
|
# outputDefault. Loads default configs for the selected device. The remaining options below are ignored.
|
|
# If you want to use your own profile, set None and set the remaining options below.
|
|
#outputDefault=None
|
|
|
|
# hwAccel (0,1).
|
|
#
|
|
# hwAccel. 1 will set ffmpeg to enable hardware acceleration (this requires a recent ffmpeg).
|
|
#hwAccel=0
|
|
|
|
# ffmpeg output settings.
|
|
#outputVideoExtension=.mp4
|
|
#outputVideoCodec=libx264
|
|
#VideoCodecAllow=
|
|
#outputVideoResolution=720:-1
|
|
#outputVideoPreset=medium
|
|
#outputVideoFramerate=24
|
|
#outputVideoBitrate=800k
|
|
#outputAudioCodec=ac3
|
|
#AudioCodecAllow=
|
|
#outputAudioChannels=6
|
|
#outputAudioBitrate=640k
|
|
#outputQualityPercent=
|
|
#outputAudioTrack2Codec=libfaac
|
|
#AudioCodec2Allow=
|
|
#outputAudioTrack2Channels=2
|
|
#outputAudioTrack2Bitrate=160k
|
|
#outputAudioOtherCodec=libmp3lame
|
|
#AudioOtherCodecAllow=
|
|
#outputAudioOtherChannels=2
|
|
#outputAudioOtherBitrate=128k
|
|
#outputSubtitleCodec=
|
|
|
|
## WakeOnLan
|
|
|
|
# use WOL (0, 1).
|
|
#
|
|
# set to 1 to send WOL broadcast to the mac and test the server (e.g. xbmc) on the host and port specified.
|
|
#wolwake=0
|
|
|
|
# WOL MAC
|
|
#
|
|
# enter the mac address of the system to be woken.
|
|
#wolmac=00:01:2e:2D:64:e1
|
|
|
|
# Set the Host and Port of a server to verify system has woken.
|
|
#wolhost=192.168.1.37
|
|
#wolport=80
|
|
|
|
## UserScript
|
|
|
|
# User Script category.
|
|
#
|
|
# category that gets called for post-processing with user script (accepts "UNCAT", "ALL", or a defined category).
|
|
#usCategory=mine
|
|
|
|
# User Script Remote Path (0,1).
|
|
#
|
|
# Script calls commands on another system.
|
|
#usremote_path=0
|
|
|
|
# User Script extensions.
|
|
#
|
|
# What extension do you want to process? Specify all the extension, or use "ALL" to process all files.
|
|
#user_script_mediaExtensions=.mkv,.avi,.divx,.xvid,.mov,.wmv,.mp4,.mpg,.mpeg
|
|
|
|
# User Script Path
|
|
#
|
|
# Specify the path to your custom script.
|
|
#user_script_path=/nzbToMedia/userscripts/script.sh
|
|
|
|
# User Script arguments.
|
|
#
|
|
# Specify the argument(s) passed to script, comma separated in order.
|
|
# for example FP,FN,DN, TN, TL for file path (absolute file name with path), file name, absolute directory name (with path), Torrent Name, Torrent Label/Category.
|
|
# So the result is /media/test/script/script.sh FP FN DN TN TL. Add other arguments as needed eg -f, -r
|
|
#user_script_param=FN
|
|
|
|
# User Script Run Once (0,1).
|
|
#
|
|
# Set user_script_runOnce = 0 to run for each file, or 1 to only run once (presumably on teh entire directory).
|
|
#user_script_runOnce=0
|
|
|
|
# User Script Success Codes.
|
|
#
|
|
# Specify the successcodes returned by the user script as a comma separated list. Linux default is 0
|
|
#user_script_successCodes=0
|
|
|
|
# User Script Clean After (0,1).
|
|
#
|
|
# Clean after? Note that delay function is used to prevent possible mistake :) Delay is intended as seconds
|
|
#user_script_clean=1
|
|
|
|
# User Script Delay.
|
|
#
|
|
# Delay in seconds after processing.
|
|
#usdelay=120
|
|
|
|
### NZBGET POST-PROCESSING SCRIPT ###
|
|
##############################################################################
|
|
|
|
from __future__ import (
|
|
absolute_import,
|
|
division,
|
|
print_function,
|
|
unicode_literals,
|
|
)
|
|
|
|
import os
|
|
import sys
|
|
|
|
import eol
|
|
import cleanup
|
|
|
|
eol.check()
|
|
cleanup.clean(cleanup.FOLDER_STRUCTURE)
|
|
|
|
import core
|
|
from core import logger
|
|
from core.processor import nzbget, sab, manual
|
|
from core.processor.nzb import process
|
|
from core.auto_process.common import ProcessResult
|
|
|
|
|
|
def main(args, section=None):
|
|
# Initialize the config
|
|
core.initialize(section)
|
|
|
|
logger.info('#########################################################')
|
|
logger.info('## ..::[{0}]::.. ##'.format(os.path.basename(__file__)))
|
|
logger.info('#########################################################')
|
|
|
|
# debug command line options
|
|
logger.debug('Options passed into nzbToMedia: {0}'.format(args))
|
|
|
|
# Post-Processing Result
|
|
result = ProcessResult(
|
|
message='',
|
|
status_code=0,
|
|
)
|
|
|
|
# NZBGet
|
|
if 'NZBOP_SCRIPTDIR' in os.environ:
|
|
result = nzbget.process()
|
|
# SABnzbd
|
|
elif 'SAB_SCRIPT' in os.environ:
|
|
result = sab.process_script()
|
|
# SABnzbd Pre 0.7.17
|
|
elif len(args) >= sab.MINIMUM_ARGUMENTS:
|
|
result = sab.process(args)
|
|
# Generic program
|
|
elif len(args) > 5 and args[5] == 'generic':
|
|
logger.info('Script triggered from generic program')
|
|
result = process(args[1], input_name=args[2], input_category=args[3], download_id=args[4])
|
|
elif core.NZB_NO_MANUAL:
|
|
logger.warning('Invalid number of arguments received from client, and no_manual set')
|
|
else:
|
|
manual.process()
|
|
|
|
if result.status_code == 0:
|
|
logger.info('The {0} script completed successfully.'.format(args[0]))
|
|
if result.message:
|
|
print(result.message + '!')
|
|
if 'NZBOP_SCRIPTDIR' in os.environ: # return code for nzbget v11
|
|
del core.MYAPP
|
|
return core.NZBGET_POSTPROCESS_SUCCESS
|
|
else:
|
|
logger.error('A problem was reported in the {0} script.'.format(args[0]))
|
|
if result.message:
|
|
print(result.message + '!')
|
|
if 'NZBOP_SCRIPTDIR' in os.environ: # return code for nzbget v11
|
|
del core.MYAPP
|
|
return core.NZBGET_POSTPROCESS_ERROR
|
|
del core.MYAPP
|
|
return result.status_code
|
|
|
|
|
|
if __name__ == '__main__':
|
|
exit(main(sys.argv))
|