Browse Source

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.
tags/0.6.0
ShyPike 15 years ago
parent
commit
ca8f3bcad4
  1. 11
      sabnzbd/interface.py
  2. 2
      sabnzbd/misc.py
  3. 50
      sabnzbd/nzbqueue.py

11
sabnzbd/interface.py

@ -607,11 +607,7 @@ class MainPage:
priority = int(value2) priority = int(value2)
except: except:
return report(output, _MSG_INT_VALUE) return report(output, _MSG_INT_VALUE)
items = value.split(',') pos = nzbqueue.set_priority(value, priority)
if len(items) > 1:
pos = nzbqueue.set_priority_multiple(items, priority)
else:
pos = nzbqueue.set_priority(value, priority)
# Returns the position in the queue, -1 is incorrect job-id # Returns the position in the queue, -1 is incorrect job-id
return report(output, keyword='position', data=pos) return report(output, keyword='position', data=pos)
except: except:
@ -723,11 +719,6 @@ class MainPage:
if cat == 'None': if cat == 'None':
cat = None cat = None
nzbqueue.change_cat(nzo_id, cat) 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) return report(output)
else: else:
return report(output, _MSG_NO_VALUE) return report(output, _MSG_NO_VALUE)

2
sabnzbd/misc.py

@ -101,7 +101,7 @@ def cat_to_opts(cat, pp=None, script=None, priority=None):
# Get the default priority # Get the default priority
if priority == DEFAULT_PRIORITY: if priority == DEFAULT_PRIORITY:
priority = cfg.dirscan_priority() priority = cfg.dirscan_priority()
logging.debug('Job gets priority %s', script) logging.debug('Job gets priority %s', priority)
except KeyError: except KeyError:
priority = cfg.dirscan_priority() priority = cfg.dirscan_priority()

50
sabnzbd/nzbqueue.py

@ -223,19 +223,24 @@ class NzbQueue(TryList):
nzo_id) nzo_id)
@synchronized(NZBQUEUE_LOCK) @synchronized(NZBQUEUE_LOCK)
def change_opts(self, nzo_id, pp): def change_opts(self, nzo_ids, pp):
if nzo_id in self.__nzo_table: for nzo_id in [item.strip() for item in nzo_ids.split(',')]:
self.__nzo_table[nzo_id].set_pp(pp) if nzo_id in self.__nzo_table:
self.__nzo_table[nzo_id].set_pp(pp)
@synchronized(NZBQUEUE_LOCK) @synchronized(NZBQUEUE_LOCK)
def change_script(self, nzo_id, script): def change_script(self, nzo_ids, script):
if nzo_id in self.__nzo_table: for nzo_id in [item.strip() for item in nzo_ids.split(',')]:
self.__nzo_table[nzo_id].script = script if nzo_id in self.__nzo_table:
self.__nzo_table[nzo_id].script = script
@synchronized(NZBQUEUE_LOCK) @synchronized(NZBQUEUE_LOCK)
def change_cat(self, nzo_id, cat): def change_cat(self, nzo_ids, cat):
if nzo_id in self.__nzo_table: for nzo_id in [item.strip() for item in nzo_ids.split(',')]:
self.__nzo_table[nzo_id].cat = cat 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) @synchronized(NZBQUEUE_LOCK)
def change_name(self, nzo_id, name): def change_name(self, nzo_id, name):
@ -496,9 +501,7 @@ class NzbQueue(TryList):
else: else:
logging.debug("Sort: %s not recognised", field) logging.debug("Sort: %s not recognised", field)
def __set_priority(self, nzo_id, priority):
@synchronized(NZBQUEUE_LOCK)
def set_priority(self, nzo_id, priority):
""" Sets the priority on the nzo and places it in the queue at the approrioate position """ """ Sets the priority on the nzo and places it in the queue at the approrioate position """
try: try:
priority = int(priority) priority = int(priority)
@ -558,11 +561,11 @@ class NzbQueue(TryList):
return -1 return -1
@synchronized(NZBQUEUE_LOCK) @synchronized(NZBQUEUE_LOCK)
def set_priority_multiple(self, nzo_ids, priority): def set_priority(self, nzo_ids, priority):
try: try:
n = -1 n = -1
for nzo_id in nzo_ids: for nzo_id in [item.strip() for item in nzo_ids.split(',')]:
n = self.set_priority(nzo_id, priority) n = self.__set_priority(nzo_id, priority)
return n return n
except: except:
return -1 return -1
@ -917,14 +920,6 @@ def queue_info(for_cli = False):
global __NZBQ global __NZBQ
if __NZBQ: return __NZBQ.queue_info(for_cli = for_cli) 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(): def get_msgids():
global __NZBQ global __NZBQ
if __NZBQ: return __NZBQ.get_msgids() 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) 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 @synchronized_CV
def set_priority(nzo_id, priority): def set_priority(nzo_ids, priority):
global __NZBQ global __NZBQ
if __NZBQ: if __NZBQ:
return __NZBQ.set_priority(nzo_id, priority) return __NZBQ.set_priority(nzo_ids, priority)
@synchronized_CV @synchronized_CV
def get_nzo(nzo_id): def get_nzo(nzo_id):
@ -993,11 +988,6 @@ def get_nzo(nzo_id):
return __NZBQ.get_nzo(nzo_id) return __NZBQ.get_nzo(nzo_id)
@synchronized_CV @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): def sort_queue(field, reverse=False):
global __NZBQ global __NZBQ
if __NZBQ: __NZBQ.sort_queue(field, reverse) if __NZBQ: __NZBQ.sort_queue(field, reverse)

Loading…
Cancel
Save