From ca8f3bcad44db0834c0cb78faba8076f3cbea22a Mon Sep 17 00:00:00 2001 From: ShyPike Date: Sun, 23 May 2010 21:39:13 +0200 Subject: [PATCH] API: allow comma-separated lists of nzo_id's in change_opts, change_cat, change_script, set_priority. Accept the lists at the nzbqueue.py level and remove from interface.py level. --- sabnzbd/interface.py | 11 +---------- sabnzbd/misc.py | 2 +- sabnzbd/nzbqueue.py | 50 ++++++++++++++++++++------------------------------ 3 files changed, 22 insertions(+), 41 deletions(-) diff --git a/sabnzbd/interface.py b/sabnzbd/interface.py index 4e6ad0b..ad9e3db 100644 --- a/sabnzbd/interface.py +++ b/sabnzbd/interface.py @@ -607,11 +607,7 @@ class MainPage: priority = int(value2) except: return report(output, _MSG_INT_VALUE) - items = value.split(',') - if len(items) > 1: - pos = nzbqueue.set_priority_multiple(items, priority) - else: - pos = nzbqueue.set_priority(value, priority) + pos = nzbqueue.set_priority(value, priority) # Returns the position in the queue, -1 is incorrect job-id return report(output, keyword='position', data=pos) except: @@ -723,11 +719,6 @@ class MainPage: if cat == 'None': cat = None nzbqueue.change_cat(nzo_id, cat) - cat, pp, script, cat_priority = cat_to_opts(cat) - - nzbqueue.change_script(nzo_id, script) - nzbqueue.change_opts(nzo_id, pp) - nzbqueue.set_priority(nzo_id, cat_priority) return report(output) else: return report(output, _MSG_NO_VALUE) diff --git a/sabnzbd/misc.py b/sabnzbd/misc.py index 6320724..bc1e827 100644 --- a/sabnzbd/misc.py +++ b/sabnzbd/misc.py @@ -101,7 +101,7 @@ def cat_to_opts(cat, pp=None, script=None, priority=None): # Get the default priority if priority == DEFAULT_PRIORITY: priority = cfg.dirscan_priority() - logging.debug('Job gets priority %s', script) + logging.debug('Job gets priority %s', priority) except KeyError: priority = cfg.dirscan_priority() diff --git a/sabnzbd/nzbqueue.py b/sabnzbd/nzbqueue.py index 6c03b42..80a60ff 100644 --- a/sabnzbd/nzbqueue.py +++ b/sabnzbd/nzbqueue.py @@ -223,19 +223,24 @@ class NzbQueue(TryList): nzo_id) @synchronized(NZBQUEUE_LOCK) - def change_opts(self, nzo_id, pp): - if nzo_id in self.__nzo_table: - self.__nzo_table[nzo_id].set_pp(pp) + def change_opts(self, nzo_ids, pp): + for nzo_id in [item.strip() for item in nzo_ids.split(',')]: + if nzo_id in self.__nzo_table: + self.__nzo_table[nzo_id].set_pp(pp) @synchronized(NZBQUEUE_LOCK) - def change_script(self, nzo_id, script): - if nzo_id in self.__nzo_table: - self.__nzo_table[nzo_id].script = script + def change_script(self, nzo_ids, script): + for nzo_id in [item.strip() for item in nzo_ids.split(',')]: + if nzo_id in self.__nzo_table: + self.__nzo_table[nzo_id].script = script @synchronized(NZBQUEUE_LOCK) - def change_cat(self, nzo_id, cat): - if nzo_id in self.__nzo_table: - self.__nzo_table[nzo_id].cat = cat + def change_cat(self, nzo_ids, cat): + for nzo_id in [item.strip() for item in nzo_ids.split(',')]: + if nzo_id in self.__nzo_table: + nzo = self.__nzo_table[nzo_id] + nzo.cat, nzo.pp, nzo.script, prio = cat_to_opts(cat) + self.set_priority(nzo_id, prio) @synchronized(NZBQUEUE_LOCK) def change_name(self, nzo_id, name): @@ -496,9 +501,7 @@ class NzbQueue(TryList): else: logging.debug("Sort: %s not recognised", field) - - @synchronized(NZBQUEUE_LOCK) - def set_priority(self, nzo_id, priority): + def __set_priority(self, nzo_id, priority): """ Sets the priority on the nzo and places it in the queue at the approrioate position """ try: priority = int(priority) @@ -558,11 +561,11 @@ class NzbQueue(TryList): return -1 @synchronized(NZBQUEUE_LOCK) - def set_priority_multiple(self, nzo_ids, priority): + def set_priority(self, nzo_ids, priority): try: n = -1 - for nzo_id in nzo_ids: - n = self.set_priority(nzo_id, priority) + for nzo_id in [item.strip() for item in nzo_ids.split(',')]: + n = self.__set_priority(nzo_id, priority) return n except: return -1 @@ -917,14 +920,6 @@ def queue_info(for_cli = False): global __NZBQ if __NZBQ: return __NZBQ.queue_info(for_cli = for_cli) -#def purge_history(job=None): -# global __NZBQ -# if __NZBQ: __NZBQ.purge(job) - -#def remove_multiple_history(jobs=None): -# global __NZBQ -# if __NZBQ: __NZBQ.remove_multiple_history(jobs) - def get_msgids(): global __NZBQ if __NZBQ: return __NZBQ.get_msgids() @@ -981,10 +976,10 @@ def insert_future_nzo(future_nzo, filename, msgid, data, pp=None, script=None, c if __NZBQ: __NZBQ.insert_future(future_nzo, filename, msgid, data, pp=pp, script=script, cat=cat, priority=priority, nzbname=nzbname, nzo_info=nzo_info) @synchronized_CV -def set_priority(nzo_id, priority): +def set_priority(nzo_ids, priority): global __NZBQ if __NZBQ: - return __NZBQ.set_priority(nzo_id, priority) + return __NZBQ.set_priority(nzo_ids, priority) @synchronized_CV def get_nzo(nzo_id): @@ -993,11 +988,6 @@ def get_nzo(nzo_id): return __NZBQ.get_nzo(nzo_id) @synchronized_CV -def set_priority_multiple(nzo_ids, priority): - global __NZBQ - if __NZBQ: return __NZBQ.set_priority_multiple(nzo_ids, priority) - -@synchronized_CV def sort_queue(field, reverse=False): global __NZBQ if __NZBQ: __NZBQ.sort_queue(field, reverse)