Skip to content

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:

  1. Copy script to sabnzbd's script folder
  2. run: sudo chmod +x Clean.py
  3. in SABnzbd go to Settings => Switches
  4. Change Pre-queue user script and select: Clean.py

!Enable 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:

  1. Copy script to sabnzbd's script folder
  2. run: sudo chmod +x replace_for.py
  3. in SABnzbd go to Settings => Categories
  4. Change script for required categories and select: replace_for.py

!Enable 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)