Extract sabnzb processing from nzbToMedia.main -> core.processor.sabnzbd

This commit is contained in:
Labrys of Knossos 2022-11-24 23:33:17 -05:00
parent 073b19034b
commit 58c998712f
2 changed files with 71 additions and 31 deletions

67
core/processor/sab.py Normal file
View file

@ -0,0 +1,67 @@
import os
from core import logger
from core.processor import nzb
def process_script():
client_agent = 'sabnzbd'
logger.info('Script triggered from SABnzbd Version {0}.'.format(
os.environ['SAB_VERSION']))
return nzb.process(
os.environ['SAB_COMPLETE_DIR'],
input_name=os.environ['SAB_FINAL_NAME'],
status=int(os.environ['SAB_PP_STATUS']),
client_agent=client_agent,
download_id=os.environ['SAB_NZO_ID'],
input_category=os.environ['SAB_CAT'],
failure_link=os.environ['SAB_FAILURE_URL'],
)
def process_legacy(args):
# SABnzbd argv:
# 1 The final directory of the job (full path)
# 2 The original name of the NZB file
# 3 Clean version of the job name (no path info and '.nzb' removed)
# 4 Indexer's report number (if supported)
# 5 User-defined category
# 6 Group that the NZB was posted in e.g. alt.binaries.x
# 7 Status of post processing.
# 0 = OK
# 1 = failed verification
# 2 = failed unpack
# 3 = 1+2
client_agent = 'sabnzbd'
logger.info('Script triggered from SABnzbd')
return nzb.process(
args[1],
input_name=args[2],
status=int(args[7]),
input_category=args[5],
client_agent=client_agent,
download_id='',
)
def process_0717(args):
# SABnzbd argv:
# 1 The final directory of the job (full path)
# 2 The original name of the NZB file
# 3 Clean version of the job name (no path info and '.nzb' removed)
# 4 Indexer's report number (if supported)
# 5 User-defined category
# 6 Group that the NZB was posted in e.g. alt.binaries.x
# 7 Status of post processing. 0 = OK, 1=failed verification, 2=failed unpack, 3=1+2
# 8 Failure URL
client_agent = 'sabnzbd'
logger.info('Script triggered from SABnzbd 0.7.17+')
return nzb.process(
args[1],
input_name=args[2],
status=int(args[7]),
input_category=args[5],
client_agent=client_agent,
download_id='',
failure_link=''.join(args[8:]),
)

View file

@ -733,7 +733,7 @@ cleanup.clean(cleanup.FOLDER_STRUCTURE)
import core
from core import logger
from core.processor import nzbget
from core.processor import nzbget, sab
from core.processor.nzb import process
from core.auto_process.common import ProcessResult
from core.utils import (
@ -769,40 +769,13 @@ def main(args, section=None):
result = nzbget.process()
# SABnzbd
elif 'SAB_SCRIPT' in os.environ:
client_agent = 'sabnzbd'
logger.info('Script triggered from SABnzbd Version {0}.'.format(os.environ['SAB_VERSION']))
result = process(os.environ['SAB_COMPLETE_DIR'], input_name=os.environ['SAB_FINAL_NAME'], status=int(os.environ['SAB_PP_STATUS']),
client_agent=client_agent, download_id=os.environ['SAB_NZO_ID'], input_category=os.environ['SAB_CAT'],
failure_link=os.environ['SAB_FAILURE_URL'])
result = sab.process_script()
# SABnzbd Pre 0.7.17
elif len(args) == core.SABNZB_NO_OF_ARGUMENTS:
# SABnzbd argv:
# 1 The final directory of the job (full path)
# 2 The original name of the NZB file
# 3 Clean version of the job name (no path info and '.nzb' removed)
# 4 Indexer's report number (if supported)
# 5 User-defined category
# 6 Group that the NZB was posted in e.g. alt.binaries.x
# 7 Status of post processing. 0 = OK, 1=failed verification, 2=failed unpack, 3=1+2
client_agent = 'sabnzbd'
logger.info('Script triggered from SABnzbd')
result = process(args[1], input_name=args[2], status=int(args[7]), input_category=args[5], client_agent=client_agent,
download_id='')
result = sab.process_legacy(args)
# SABnzbd 0.7.17+
elif len(args) >= core.SABNZB_0717_NO_OF_ARGUMENTS:
# SABnzbd argv:
# 1 The final directory of the job (full path)
# 2 The original name of the NZB file
# 3 Clean version of the job name (no path info and '.nzb' removed)
# 4 Indexer's report number (if supported)
# 5 User-defined category
# 6 Group that the NZB was posted in e.g. alt.binaries.x
# 7 Status of post processing. 0 = OK, 1=failed verification, 2=failed unpack, 3=1+2
# 8 Failure URL
client_agent = 'sabnzbd'
logger.info('Script triggered from SABnzbd 0.7.17+')
result = process(args[1], input_name=args[2], status=int(args[7]), input_category=args[5], client_agent=client_agent,
download_id='', failure_link=''.join(args[8:]))
result = sab.process_0717(args)
# Generic program
elif len(args) > 5 and args[5] == 'generic':
logger.info('Script triggered from generic program')