diff --git a/couchpotato/core/downloaders/base.py b/couchpotato/core/downloaders/base.py index 5ffad3da..adbfb7ec 100644 --- a/couchpotato/core/downloaders/base.py +++ b/couchpotato/core/downloaders/base.py @@ -83,7 +83,7 @@ class Downloader(Provider): if item and item.get('downloader') == self.getName(): if self.conf('remove_complete'): - return self.processComplete(item = item, delete_files = self.conf('delete_files')) + return self.processComplete(item = item, delete_files = self.conf('delete_files', default = False)) return False return diff --git a/couchpotato/core/downloaders/sabnzbd/__init__.py b/couchpotato/core/downloaders/sabnzbd/__init__.py index f17db9c1..7fcec9e1 100644 --- a/couchpotato/core/downloaders/sabnzbd/__init__.py +++ b/couchpotato/core/downloaders/sabnzbd/__init__.py @@ -41,6 +41,13 @@ config = [{ 'advanced': True, 'description': 'Disable this downloader for automated searches, but use it when I manually send a release.', }, + { + 'name': 'remove_complete', + 'label': 'Remove torrent', + 'default': True, + 'type': 'bool', + 'description': 'Remove the NZB from SabNZBd history after it completed.', + }, { 'name': 'delete_failed', 'default': True, diff --git a/couchpotato/core/downloaders/sabnzbd/main.py b/couchpotato/core/downloaders/sabnzbd/main.py index f2f217a1..56e9a212 100644 --- a/couchpotato/core/downloaders/sabnzbd/main.py +++ b/couchpotato/core/downloaders/sabnzbd/main.py @@ -129,6 +129,22 @@ class Sabnzbd(Downloader): return True + def processComplete(self, item, delete_files = False): + log.debug('Requesting SabNZBd to remove the NZB %s%s.', (item['name'])) + + try: + self.call({ + 'mode': 'history', + 'name': 'delete', + 'del_files': '0', + 'value': item['id'] + }, use_json = False) + except: + log.error('Failed removing: %s', traceback.format_exc(0)) + return False + + return True + def call(self, request_params, use_json = True, **kwargs): url = cleanHost(self.conf('host')) + 'api?' + tryUrlencode(mergeDicts(request_params, {