Browse Source

Added config options

pull/662/head
mano3m 13 years ago
parent
commit
db2c9e5156
  1. 16
      couchpotato/core/downloaders/sabnzbd/__init__.py
  2. 38
      couchpotato/core/downloaders/sabnzbd/main.py

16
couchpotato/core/downloaders/sabnzbd/__init__.py

@ -35,11 +35,25 @@ config = [{
},
{
'name': 'manual',
'default': 0,
'default': False,
'type': 'bool',
'advanced': True,
'description': 'Disable this downloader for automated searches, but use it when I manually send a release.',
},
{
'name': 'download failed',
'default': True,
'type': 'bool',
'advanced': True,
'description': 'Try next the next best release for a movie after a download failed.',
},
{
'name': 'delete failed',
'default': True,
'type': 'bool',
'advanced': True,
'description': 'Delete a release after it\'s download failed.',
},
],
}
],

38
couchpotato/core/downloaders/sabnzbd/main.py

@ -3,8 +3,6 @@ from couchpotato.core.helpers.encoding import tryUrlencode
from couchpotato.core.helpers.variable import cleanHost
from couchpotato.core.logger import CPLog
import traceback
import urllib2
import requests
import json
log = CPLog(__name__)
@ -69,6 +67,9 @@ class Sabnzbd(Downloader):
if self.isDisabled(manual = True) or not self.isCorrectType(data.get('type')):
return
if not self.conf('download failed', default = True):
return False
log.info('Checking download status of "%s" at SABnzbd.', data.get('name'))
params = {
@ -80,7 +81,7 @@ class Sabnzbd(Downloader):
log.debug('Opening: %s', url)
try:
history = json.load(urllib2.urlopen(url))
history = json.load(self.urlopen(url))
except:
log.error(traceback.format_exc())
return False
@ -91,23 +92,24 @@ class Sabnzbd(Downloader):
for slot in history['history']['slots']:
log.debug('Found %s in SabNZBd history, which has %s', (slot['name'], slot['status']))
if slot['name'] == nzbname and slot['status'] == 'Failed':
log.debug('%s failed downloading, deleting...', slot['name'])
# Delete failed download
params = {
'apikey': self.conf('api_key'),
'mode': 'history',
'name': 'delete',
'del_files': '1',
'value': slot['nzo_id']
}
url = cleanHost(self.conf('host')) + "api?" + tryUrlencode(params)
try:
data = self.urlopen(url, timeout = 60, show_error = False)
except:
log.error(traceback.format_exc())
# Return failed
if self.conf('delete failed', default = True):
log.info('%s failed downloading, deleting...', slot['name'])
params = {
'apikey': self.conf('api_key'),
'mode': 'history',
'name': 'delete',
'del_files': '1',
'value': slot['nzo_id']
}
url = cleanHost(self.conf('host')) + "api?" + tryUrlencode(params)
try:
data = self.urlopen(url, timeout = 60, show_error = False)
except:
log.error(traceback.format_exc())
# Return download failed
return True
return False

Loading…
Cancel
Save