Hij pakt netjes de elif en geeft de correcte opdracht aan sickbeard
-- [bericht automatisch samengevoegd - 29 okt 2013, 22:25] --
Ik heb in mijn spielerei toch nog wel een paar aanpassingen gemaakt die je misschien wel handig vindt.
Uitbreiding / correctie op job_res
De reden voor deze uitbreiding is dat sickbeard-tpb gebruik maakt van failed download handling. Een gefailde NZB wordt in de database gelogd, zodat Sickbeard deze NZB niet nogmaals download, maar een andere hit zal proberen.
Voor dit proces moet uiteraard de post-processing wel aangesproken worden, en het huidige script zou dat niet doen.
- Spoiler: show
Code: Selecteer alles
if int(job_res) != 0:
if config.getboolean('tv', 'sickbeard'):
try:
import autoProcessTV
if autoProcessTV.processEpisode.func_code.co_argcount == 3:
autoProcessTV.processEpisode(final_dir, sys.argv[2], job_res)
except:
print 'Could not run sickbeard, is autoProcessTV in the same folder as this script?'
else:
print 'To prevent bad stuff from happening we do not run this script on jobs that are not succesfully completed (par/rar fail)'
print 'If you want to run this anyway try this in commandline:'
print sys.argv[0], sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6], sys.argv[7]
Uitbreiding met optioneel verwijderen folder en nfo file
Dit is ten behoeve van de plex client, die alleen de film en srt weggooid (nfo weet ik niet zeker) en geen folders kan verwijderen.
2 variabelen toegevoegd aan pySR.cfg, namelijk "keep_folder" en "keep_nfo".
- Spoiler: show
Code: Selecteer alles
if config.get('sabnzbd', 'moviecat')==job_cat:
if config.getboolean('movies', 'cleanup'):
cleanup(final_dir)
if config.getboolean('movies', 'keep_folder') is False:
parent_final_dir = os.path.abspath(os.path.join(final_dir, os.pardir))
for root, dirs, files in os.walk(final_dir, topdown=False):
for name in files:
if os.path.splitext(name)[1] == '.nfo':
if config.getboolean('movies', 'keep_nfo') is False:
os.remove(os.path.join(root, name))
print 'Removed:', os.path.join(root, name)
else:
os.rename(os.path.join(root, name), os.path.join(parent_final_dir, name))
print 'Moved', os.path.join(root, name), 'to', os.path.join(parent_final_dir, name)
else:
os.rename(os.path.join(root, name), os.path.join(parent_final_dir, name))
print 'Moved', os.path.join(root, name), 'to', os.path.join(parent_final_dir, name)
try:
os.rmdir(final_dir)
print 'Removed:', final_dir
except:
print "Could not delete directory, directory not empty"
Wijziging van cleanup bij TV
Sickbeard heeft een eigen cleanup proces. Het is dus apart eerst de cleanup te runnen, en daarna sickbeard aan te roepen. Ik heb de volgorde omgegooid.
- Spoiler: show
Code: Selecteer alles
if config.get('sabnzbd', 'tvcat')==job_cat:
if config.getboolean('tv', 'sickbeard'):
print '\n+Calling Sickbeard+'
try:
import autoProcessTV
if autoProcessTV.processEpisode.func_code.co_argcount == 2:
autoProcessTV.processEpisode(final_dir, sys.argv[2])
elif autoProcessTV.processEpisode.func_code.co_argcount == 3:
autoProcessTV.processEpisode(final_dir, sys.argv[2], job_res)
except:
print 'Could not run sickbeard, is autoProcessTV in the same folder as this script?'
if config.getboolean('tv', 'cleanup'):
cleanup(final_dir)
Wat me verder nog opviel is dat je de nfo niet hernoemd, maar aangezien ik die persoonlijk toch altijd zal weggooien heb ik daar geen code voor aangepast.
-- [bericht automatisch samengevoegd - 30 okt 2013, 06:52] --
P.s. ik bedacht me vannacht (leuk zo'n hoofd dat nooit slaapt...
) dat je volgens in je job_res routine een exit mist.
Je laat wel printen dat het script niet mag lopen, maar daarna doe je er voor zover ik het snap niks mee. Op regel 69 zou dan nog een exit moeten toch?