mirror of
https://github.com/rembo10/headphones.git
synced 2026-05-16 00:25:31 +01:00
Merge pull request #1809 from piejanssens/nzbget-priority
Add NZBget priority option (including force)
This commit is contained in:
@@ -168,6 +168,68 @@
|
||||
<label>NZBget Category:</label>
|
||||
<input type="text" name="nzbget_category" value="${config['nzbget_cat']}" size="20">
|
||||
</div>
|
||||
<%
|
||||
if config['nzbget_priority'] == -100:
|
||||
prio_verylow = 'selected="selected"'
|
||||
prio_low = ''
|
||||
prio_normal = ''
|
||||
prio_high = ''
|
||||
prio_veryhigh = ''
|
||||
prio_force = ''
|
||||
elif config['nzbget_priority'] == -50:
|
||||
prio_verylow = ''
|
||||
prio_low = 'selected="selected"'
|
||||
prio_normal = ''
|
||||
prio_high = ''
|
||||
prio_veryhigh = ''
|
||||
prio_force = ''
|
||||
elif config['nzbget_priority'] == 0:
|
||||
prio_verylow = ''
|
||||
prio_low = ''
|
||||
prio_normal = 'selected="selected"'
|
||||
prio_high = ''
|
||||
prio_veryhigh = ''
|
||||
prio_force = ''
|
||||
elif config['nzbget_priority'] == 50:
|
||||
prio_verylow = ''
|
||||
prio_low = ''
|
||||
prio_normal = ''
|
||||
prio_high = 'selected="selected"'
|
||||
prio_veryhigh = ''
|
||||
prio_force = ''
|
||||
elif config['nzbget_priority'] == 100:
|
||||
prio_verylow = ''
|
||||
prio_low = ''
|
||||
prio_normal = ''
|
||||
prio_high = ''
|
||||
prio_veryhigh = 'selected="selected"'
|
||||
prio_force = ''
|
||||
elif config['nzbget_priority'] == 900:
|
||||
prio_verylow = ''
|
||||
prio_low = ''
|
||||
prio_normal = ''
|
||||
prio_high = ''
|
||||
prio_veryhigh = ''
|
||||
prio_force = 'selected="selected"'
|
||||
else:
|
||||
prio_verylow = ''
|
||||
prio_low = ''
|
||||
prio_normal = 'selected="selected"'
|
||||
prio_high = ''
|
||||
prio_veryhigh = ''
|
||||
prio_force = ''
|
||||
%>
|
||||
<div class="row">
|
||||
<label>NZBget Priority:</label>
|
||||
<select name="nzbget_priority" id="nzbget_priority">
|
||||
<option value="-100" ${prio_verylow}>Very Low</option>
|
||||
<option value="-50" ${prio_low}>Low</option>
|
||||
<option value="0" ${prio_normal}>Normal</option>
|
||||
<option value="50" ${prio_high}>High</option>
|
||||
<option value="100" ${prio_veryhigh}>Very High</option>
|
||||
<option value="900" ${prio_force}>Force</option>
|
||||
</select>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset id="blackhole_options">
|
||||
|
||||
@@ -148,6 +148,7 @@ NZBGET_USERNAME = None
|
||||
NZBGET_PASSWORD = None
|
||||
NZBGET_CATEGORY = None
|
||||
NZBGET_HOST = None
|
||||
NZBGET_PRIORITY = 0
|
||||
|
||||
HEADPHONES_INDEXER = False
|
||||
|
||||
@@ -355,7 +356,7 @@ def initialize():
|
||||
TORRENTBLACKHOLE_DIR, NUMBEROFSEEDERS, KAT, KAT_PROXY_URL, KAT_RATIO, PIRATEBAY, PIRATEBAY_PROXY_URL, PIRATEBAY_RATIO, MININOVA, MININOVA_RATIO, WAFFLES, WAFFLES_UID, WAFFLES_PASSKEY, WAFFLES_RATIO, \
|
||||
RUTRACKER, RUTRACKER_USER, RUTRACKER_PASSWORD, RUTRACKER_RATIO, WHATCD, WHATCD_USERNAME, WHATCD_PASSWORD, WHATCD_RATIO, DOWNLOAD_TORRENT_DIR, \
|
||||
LIBRARYSCAN, LIBRARYSCAN_INTERVAL, DOWNLOAD_SCAN_INTERVAL, UPDATE_DB_INTERVAL, MB_IGNORE_AGE, SAB_HOST, SAB_USERNAME, SAB_PASSWORD, SAB_APIKEY, SAB_CATEGORY, \
|
||||
NZBGET_USERNAME, NZBGET_PASSWORD, NZBGET_CATEGORY, NZBGET_HOST, HEADPHONES_INDEXER, NZBMATRIX, TRANSMISSION_HOST, TRANSMISSION_USERNAME, TRANSMISSION_PASSWORD, \
|
||||
NZBGET_USERNAME, NZBGET_PASSWORD, NZBGET_CATEGORY, NZBGET_PRIORITY, NZBGET_HOST, HEADPHONES_INDEXER, NZBMATRIX, TRANSMISSION_HOST, TRANSMISSION_USERNAME, TRANSMISSION_PASSWORD, \
|
||||
UTORRENT_HOST, UTORRENT_USERNAME, UTORRENT_PASSWORD, UTORRENT_LABEL, NEWZNAB, NEWZNAB_HOST, NEWZNAB_APIKEY, NEWZNAB_ENABLED, EXTRA_NEWZNABS, \
|
||||
NZBSORG, NZBSORG_UID, NZBSORG_HASH, OMGWTFNZBS, OMGWTFNZBS_UID, OMGWTFNZBS_APIKEY, \
|
||||
NZB_DOWNLOADER, TORRENT_DOWNLOADER, PREFERRED_WORDS, REQUIRED_WORDS, IGNORED_WORDS, LASTFM_USERNAME, \
|
||||
@@ -525,6 +526,7 @@ def initialize():
|
||||
NZBGET_PASSWORD = check_setting_str(CFG, 'NZBget', 'nzbget_password', '')
|
||||
NZBGET_CATEGORY = check_setting_str(CFG, 'NZBget', 'nzbget_category', '')
|
||||
NZBGET_HOST = check_setting_str(CFG, 'NZBget', 'nzbget_host', '')
|
||||
NZBGET_PRIORITY = check_setting_int(CFG, 'NZBget', 'nzbget_priority', 0)
|
||||
|
||||
HEADPHONES_INDEXER = bool(check_setting_int(CFG, 'Headphones', 'headphones_indexer', 0))
|
||||
|
||||
@@ -966,6 +968,7 @@ def config_write():
|
||||
new_config['NZBget']['nzbget_password'] = NZBGET_PASSWORD
|
||||
new_config['NZBget']['nzbget_category'] = NZBGET_CATEGORY
|
||||
new_config['NZBget']['nzbget_host'] = NZBGET_HOST
|
||||
new_config['NZBget']['nzbget_priority'] = NZBGET_PRIORITY
|
||||
|
||||
new_config['Headphones'] = {}
|
||||
new_config['Headphones']['headphones_indexer'] = int(HEADPHONES_INDEXER)
|
||||
|
||||
@@ -69,25 +69,60 @@ def sendNZB(nzb):
|
||||
logger.error(u"Protocol Error: " + e.errmsg)
|
||||
return False
|
||||
|
||||
# if it's a normal result need to download the NZB content
|
||||
if nzb.resultType == "nzb":
|
||||
genProvider = GenericProvider("")
|
||||
data = genProvider.getURL(nzb.url)
|
||||
if (data == None):
|
||||
return False
|
||||
|
||||
# if we get a raw data result thats even better
|
||||
elif nzb.resultType == "nzbdata":
|
||||
nzbcontent64 = None
|
||||
if nzb.resultType == "nzbdata":
|
||||
data = nzb.extraInfo[0]
|
||||
|
||||
nzbcontent64 = standard_b64encode(data)
|
||||
nzbcontent64 = standard_b64encode(data)
|
||||
|
||||
logger.info(u"Sending NZB to NZBget")
|
||||
logger.debug(u"URL: " + url)
|
||||
|
||||
if nzbGetRPC.append(nzb.name + ".nzb", headphones.NZBGET_CATEGORY, addToTop, nzbcontent64):
|
||||
logger.debug(u"NZB sent to NZBget successfully")
|
||||
return True
|
||||
else:
|
||||
logger.error(u"NZBget could not add %s to the queue" % (nzb.name + ".nzb"))
|
||||
dupekey = ""
|
||||
dupescore = 0
|
||||
|
||||
try:
|
||||
# Find out if nzbget supports priority (Version 9.0+), old versions beginning with a 0.x will use the old command
|
||||
nzbget_version_str = nzbGetRPC.version()
|
||||
nzbget_version = int(nzbget_version_str[:nzbget_version_str.find(".")])
|
||||
if nzbget_version == 0:
|
||||
if nzbcontent64 is not None:
|
||||
nzbget_result = nzbGetRPC.append(nzb.name + ".nzb", headphones.NZBGET_CATEGORY, addToTop, nzbcontent64)
|
||||
else:
|
||||
if nzb.resultType == "nzb":
|
||||
genProvider = GenericProvider("")
|
||||
data = genProvider.getURL(nzb.url)
|
||||
if (data == None):
|
||||
return False
|
||||
nzbcontent64 = standard_b64encode(data)
|
||||
nzbget_result = nzbGetRPC.append(nzb.name + ".nzb", headphones.NZBGET_CATEGORY, addToTop, nzbcontent64)
|
||||
elif nzbget_version == 12:
|
||||
if nzbcontent64 is not None:
|
||||
nzbget_result = nzbGetRPC.append(nzb.name + ".nzb", headphones.NZBGET_CATEGORY, headphones.NZBGET_PRIORITY, False,
|
||||
nzbcontent64, False, dupekey, dupescore, "score")
|
||||
else:
|
||||
nzbget_result = nzbGetRPC.appendurl(nzb.name + ".nzb", headphones.NZBGET_CATEGORY, headphones.NZBGET_PRIORITY, False,
|
||||
nzb.url, False, dupekey, dupescore, "score")
|
||||
# v13+ has a new combined append method that accepts both (url and content)
|
||||
# also the return value has changed from boolean to integer
|
||||
# (Positive number representing NZBID of the queue item. 0 and negative numbers represent error codes.)
|
||||
elif nzbget_version >= 13:
|
||||
nzbget_result = True if nzbGetRPC.append(nzb.name + ".nzb", nzbcontent64 if nzbcontent64 is not None else nzb.url,
|
||||
headphones.NZBGET_CATEGORY, headphones.NZBGET_PRIORITY, False, False, dupekey, dupescore,
|
||||
"score") > 0 else False
|
||||
else:
|
||||
if nzbcontent64 is not None:
|
||||
nzbget_result = nzbGetRPC.append(nzb.name + ".nzb", headphones.NZBGET_CATEGORY, headphones.NZBGET_PRIORITY, False,
|
||||
nzbcontent64)
|
||||
else:
|
||||
nzbget_result = nzbGetRPC.appendurl(nzb.name + ".nzb", headphones.NZBGET_CATEGORY, headphones.NZBGET_PRIORITY, False,
|
||||
nzb.url)
|
||||
|
||||
if nzbget_result:
|
||||
logger.debug(u"NZB sent to NZBget successfully")
|
||||
return True
|
||||
else:
|
||||
logger.error(u"NZBget could not add %s to the queue" % (nzb.name + ".nzb"))
|
||||
return False
|
||||
except:
|
||||
logger.error(u"Connect Error to NZBget: could not add %s to the queue" % (nzb.name + ".nzb"))
|
||||
return False
|
||||
|
||||
@@ -971,6 +971,7 @@ class WebInterface(object):
|
||||
"nzbget_user" : headphones.NZBGET_USERNAME,
|
||||
"nzbget_pass" : headphones.NZBGET_PASSWORD,
|
||||
"nzbget_cat" : headphones.NZBGET_CATEGORY,
|
||||
"nzbget_priority" : headphones.NZBGET_PRIORITY,
|
||||
"transmission_host" : headphones.TRANSMISSION_HOST,
|
||||
"transmission_user" : headphones.TRANSMISSION_USERNAME,
|
||||
"transmission_pass" : headphones.TRANSMISSION_PASSWORD,
|
||||
@@ -1161,7 +1162,7 @@ class WebInterface(object):
|
||||
|
||||
def configUpdate(self, http_host='0.0.0.0', http_username=None, http_port=8181, http_password=None, launch_browser=0, api_enabled=0, api_key=None,
|
||||
download_scan_interval=None, update_db_interval=None, mb_ignore_age=None, nzb_search_interval=None, libraryscan_interval=None, sab_host=None, sab_username=None, sab_apikey=None, sab_password=None,
|
||||
sab_category=None, nzbget_host=None, nzbget_username=None, nzbget_password=None, nzbget_category=None, transmission_host=None, transmission_username=None, transmission_password=None,
|
||||
sab_category=None, nzbget_host=None, nzbget_username=None, nzbget_password=None, nzbget_category=None, nzbget_priority=0, transmission_host=None, transmission_username=None, transmission_password=None,
|
||||
utorrent_host=None, utorrent_username=None, utorrent_password=None, utorrent_label=None,nzb_downloader=0, torrent_downloader=0, download_dir=None, blackhole_dir=None, usenet_retention=None,
|
||||
use_headphones_indexer=0, newznab=0, newznab_host=None, newznab_apikey=None, newznab_enabled=0, nzbsorg=0, nzbsorg_uid=None, nzbsorg_hash=None, omgwtfnzbs=0, omgwtfnzbs_uid=None, omgwtfnzbs_apikey=None,
|
||||
preferred_words=None, required_words=None, ignored_words=None, preferred_quality=0, preferred_bitrate=None, detect_bitrate=0, move_files=0, torrentblackhole_dir=None, download_torrent_dir=None,
|
||||
@@ -1202,6 +1203,7 @@ class WebInterface(object):
|
||||
headphones.NZBGET_USERNAME = nzbget_username
|
||||
headphones.NZBGET_PASSWORD = nzbget_password
|
||||
headphones.NZBGET_CATEGORY = nzbget_category
|
||||
headphones.NZBGET_PRIORITY = int(nzbget_priority)
|
||||
headphones.TRANSMISSION_HOST = transmission_host
|
||||
headphones.TRANSMISSION_USERNAME = transmission_username
|
||||
headphones.TRANSMISSION_PASSWORD = transmission_password
|
||||
|
||||
Reference in New Issue
Block a user