SABnzbd Scripts
Clean
Clean NZB name
- Title:
Clean.py
- Author(s): ???
- Made compatible for SABnzbd: AlexK
Removes the following suffixes from NZB name: NZBgeek / Obfuscated / BUYMORE / Scrambled /etc... Cleans the NZB name by removing the retagged stuff (-Obfuscated, -postbox, etc).
Install Instructions:
- Copy script to sabnzbd's script folder
- run:
sudo chmod +x Clean.py
- in SABnzbd go to
Settings
=>Switches
- Change Pre-queue user script and select:
Clean.py
Script
#!/usr/bin/python3 -OO
##################################################################
### SABnzbd - Clean NZB Renamer ##
##################################################################
## NOTE: This script is considered ALPHA! ##
## ##
## Removes the suffixes from NZB name used by bots: ##
## examples: NZBgeek / Obfuscated / BUYMORE / Scrambled, etc.. ##
## ##
## NOTE: This script requires Python 3 ##
## ##
## Install: ##
## 1. Copy script to sabnzbd's script folder ##
## 2. run: sudo chmod +x Clean.py ##
## 3. in SABnzbd go to Config > Switches ##
## 4. Change Pre-queue user script and select: Clean.py ##
##################################################################
import sys
import re
try:
# Parse the 18 input variables for SABnzbd version >= 4.0.0
(scriptname, nzbname, postprocflags, category, script, prio, downloadsize, grouplist, showname, season, episodenumber, episodename, is_proper, resolution, decade, year, month, day, job_type) = sys.argv
downloadsize = int(downloadsize)
except ValueError:
# ...or 11 variables for earlier versions
(scriptname, nzbname, postprocflags, category, script, prio, downloadsize, grouplist, showname, season, episodenumber, episodename) = sys.argv
except:
sys.exit(1) # exit with 1 causes SABnzbd to ignore the output of this script
fwp = nzbname
fwp = re.sub('(?i)-4P$', '', fwp)
fwp = re.sub('(?i)-4Planet$', '', fwp)
fwp = re.sub('(?i)-AlternativeToRequested$', '', fwp)
fwp = re.sub('(?i)-AlteZachen$', '', fwp)
fwp = re.sub('(?i)-AsRequested$', '', fwp)
fwp = re.sub('(?i)-AsRequested-xpost$', '', fwp)
fwp = re.sub('(?i)-BUYMORE$', '', fwp)
fwp = re.sub('(?i)-Chamele0n$', '', fwp)
fwp = re.sub('(?i)-GEROV$', '', fwp)
fwp = re.sub('(?i)-iNC0GNiTO$', '', fwp)
fwp = re.sub('(?i)-NZBGeek$', '', fwp)
fwp = re.sub('(?i)-Obfuscated$', '', fwp)
fwp = re.sub('(?i)-Obfuscation$', '', fwp)
fwp = re.sub('(?i)-postbot$', '', fwp)
fwp = re.sub('(?i)-Rakuv[a-z0-9]*$', '', fwp)
fwp = re.sub('(?i)-RePACKPOST$', '', fwp)
fwp = re.sub('(?i)-Scrambled$', '', fwp)
fwp = re.sub('(?i)-WhiteRev$', '', fwp)
fwp = re.sub('(?i)-WRTEAM$', '', fwp)
fwp = re.sub('(?i)-CAPTCHA$', '', fwp)
fwp = re.sub('(?i)-Z0iDS3N$', '', fwp)
fwp = re.sub('(?i)\[eztv([ ._-]re)?\]$', '', fwp)
fwp = re.sub('(?i)\[TGx\]$', '', fwp)
fwp = re.sub('(?i)\[ettv\]$', '', fwp)
fwp = re.sub('(?i)\[TGx\]-xpost$', '', fwp)
fwp = re.sub('(?i).mkv-xpost$', '', fwp)
fwp = re.sub('(?i)-xpost$', '', fwp)
fwp = re.sub(r'(?i)(-D-Z0N3|\-[^-.\n]*)(\-.{4})?$', r'\1', fwp)
print("1") # Accept
print(fwp)
print()
print()
print()
print()
print()
# 0 means OK
sys.exit(0)
replace_for
Replaces underscores with dots
- Title:
replace_for.py
- Author: miker
Replaces underscores with dots in downloaded filename to prevent download loops with poorly named releases on some indexers (often HONE releases).
Install Instructions:
- Copy script to sabnzbd's script folder
- run:
sudo chmod +x replace_for.py
- in SABnzbd go to
Settings
=>Categories
- Change script for required categories and select:
replace_for.py
Script
#!/usr/bin/python3 -OO
##################################################################
### SABnzbd - Replace underscores with dots ##
##################################################################
## ##
## NOTE: This script requires Python 3 ##
## ##
## Author: miker ##
## ##
## Install: ##
## 1. Copy script to sabnzbd's script folder ##
## 2. run: sudo chmod +x replace_for.py ##
## 3. in SABnzbd go to Config > Categories ##
## 4. Assign replace_for.py to the required category ##
##################################################################
import sys
import os
import os.path
try:
(scriptname, directory, orgnzbname, jobname, reportnumber, category, group, postprocstatus, url) = sys.argv
except:
print("No commandline parameters found")
sys.exit(1) # exit with 1 causes SABnzbd to ignore the output of this script
files = os.listdir(directory)
for src in files:
if src.find("_") !=-1:
dst = src.replace('_', '.')
os.rename (os.path.join(directory,src),os.path.join(directory,dst) )
print(src, "renamed to ",dst)
print()
print()
print()
print()
# 0 means OK
sys.exit(0)