diff --git a/main/Sample-PostProc.cmd b/main/Sample-PostProc.cmd index d073bc5..34a1b26 100644 --- a/main/Sample-PostProc.cmd +++ b/main/Sample-PostProc.cmd @@ -8,6 +8,7 @@ echo The first parameter (result-dir) = %1 echo The second parameter (nzb-name) = %2 echo The third parameter (nice name) = %3 echo The fourth parameter (newzbin #) = %4 +echo The fifth parameter (newzbin-category) = %5 echo. diff --git a/main/Sample-PostProc.sh b/main/Sample-PostProc.sh index 1ad5d70..c420b06 100644 --- a/main/Sample-PostProc.sh +++ b/main/Sample-PostProc.sh @@ -8,6 +8,7 @@ echo "The first parameter (result-dir) =" $1 echo "The second parameter (nzb-name) =" $2 echo "The third parameter (nice name) =" $3 echo "The fourth parameter (newzbin-id) =" $4 +echo "The fifth parameter (newzbin-category) =" $5 echo diff --git a/main/sabnzbd/__init__.py b/main/sabnzbd/__init__.py index ad414e4..959a021 100644 --- a/main/sabnzbd/__init__.py +++ b/main/sabnzbd/__init__.py @@ -980,7 +980,7 @@ def getBookmarksList(): return BOOKMARKS.bookmarksList() def delete_bookmark(msgid): - if BOOKMARKS: + if BOOKMARKS and NEWZBIN_BOOKMARKS and NEWZBIN_UNBOOKMARK: BOOKMARKS.del_bookmark(msgid) diff --git a/main/sabnzbd/assembler.py b/main/sabnzbd/assembler.py index f4b9b08..0db520d 100644 --- a/main/sabnzbd/assembler.py +++ b/main/sabnzbd/assembler.py @@ -204,14 +204,15 @@ class PostProcessor(Thread): if result and scr and self.extern_proc: logging.info('[%s] Running external script %s %s %s', __NAME__, self.extern_proc, workdir, filename) - ext_out = external_processing(self.extern_proc, workdir, filename) + ext_out = external_processing(self.extern_proc, workdir, filename, nzo.get_cat()) else: ext_out = "" + if sabnzbd.EMAIL_ENDJOB: email_endjob(filename, prepare_msg(nzo.get_bytes_downloaded(),nzo.get_unpackstrht(), ext_out)) - if sabnzbd.NEWZBIN_UNBOOKMARK: - name, msgid = SplitFileName(filename) - sabnzbd.delete_bookmark(msgid) + + name, msgid = SplitFileName(filename) + sabnzbd.delete_bookmark(msgid) except: logging.exception("[%s] Postprocessing of %s failed.", __NAME__, nzo.get_filename()) diff --git a/main/sabnzbd/newsunpack.py b/main/sabnzbd/newsunpack.py index 879251e..66f81b8 100644 --- a/main/sabnzbd/newsunpack.py +++ b/main/sabnzbd/newsunpack.py @@ -120,11 +120,11 @@ def find_programs(curdir): #------------------------------------------------------------------------------ -def external_processing(extern_proc, complete_dir, filename): +def external_processing(extern_proc, complete_dir, filename, cat): name, msgid = SplitFileName(filename) command = ['%s' % extern_proc, '%s' % complete_dir, '%s' % filename, \ - '%s' % name, '%s' % msgid] + '%s' % name, '%s' % msgid, '%s' % cat] stup, need_shell, command, creationflags = build_command(command) diff --git a/main/sabnzbd/newzbin.py b/main/sabnzbd/newzbin.py index 9d76287..8964a50 100644 --- a/main/sabnzbd/newzbin.py +++ b/main/sabnzbd/newzbin.py @@ -295,7 +295,8 @@ class Bookmarks: return self.bookmarks def del_bookmark(self, msgid): - self.run(msgid) + if msgid in self.bookmarks: + self.run(msgid) ################################################################################ # 'Private' Methods # diff --git a/main/sabnzbd/nzbstuff.py b/main/sabnzbd/nzbstuff.py index b766021..ce710eb 100644 --- a/main/sabnzbd/nzbstuff.py +++ b/main/sabnzbd/nzbstuff.py @@ -294,7 +294,7 @@ class NzbObject(TryList): self.__delete = delete # True if we want to delete this set self.__script = script # True if we want to run external script on this set self.__msgid = '0' # Newzbin msgid - self.__extra1 = 'a' # Spare field for later + self.__extra1 = cat_root # Newzbin category self.__extra2 = 'b' # Spare field for later self.__group = None self.__avg_date = None @@ -676,6 +676,13 @@ class NzbObject(TryList): def get_filename(self): return self.__filename + def get_cat(self): + if self.__extra1 == 'a': + # Compatibility with older queues + return '' + else: + return self.__extra1 + def get_group(self): return self.__group