|
@ -2,7 +2,7 @@ from base64 import b16encode, b32decode |
|
|
from datetime import timedelta |
|
|
from datetime import timedelta |
|
|
from hashlib import sha1 |
|
|
from hashlib import sha1 |
|
|
import shutil |
|
|
import shutil |
|
|
import traceback |
|
|
from rtorrent.err import MethodError |
|
|
|
|
|
|
|
|
from bencode import bencode, bdecode |
|
|
from bencode import bencode, bdecode |
|
|
from couchpotato.core.downloaders.base import Downloader, StatusList |
|
|
from couchpotato.core.downloaders.base import Downloader, StatusList |
|
@ -54,21 +54,26 @@ class rTorrent(Downloader): |
|
|
if name not in views: |
|
|
if name not in views: |
|
|
self.rt.create_group(name) |
|
|
self.rt.create_group(name) |
|
|
|
|
|
|
|
|
log.debug('Updating provider ratio to %s, group name: %s', (data.get('seed_ratio'), name)) |
|
|
|
|
|
|
|
|
|
|
|
group = self.rt.get_group(name) |
|
|
group = self.rt.get_group(name) |
|
|
|
|
|
|
|
|
if data.get('seed_ratio'): |
|
|
try: |
|
|
# Explicitly set all group options to ensure it is setup correctly |
|
|
if data.get('seed_ratio'): |
|
|
group.set_upload('1M') |
|
|
ratio = int(float(data.get('seed_ratio')) * 100) |
|
|
group.set_min(int(data.get('seed_ratio') * 100)) |
|
|
log.debug('Updating provider ratio to %s, group name: %s', (ratio, name)) |
|
|
group.set_max(int(data.get('seed_ratio') * 100)) |
|
|
|
|
|
group.set_command('d.stop') |
|
|
# Explicitly set all group options to ensure it is setup correctly |
|
|
group.enable() |
|
|
group.set_upload('1M') |
|
|
else: |
|
|
group.set_min(ratio) |
|
|
# Reset group action and disable it |
|
|
group.set_max(ratio) |
|
|
group.set_command() |
|
|
group.set_command('d.stop') |
|
|
group.disable() |
|
|
group.enable() |
|
|
|
|
|
else: |
|
|
|
|
|
# Reset group action and disable it |
|
|
|
|
|
group.set_command() |
|
|
|
|
|
group.disable() |
|
|
|
|
|
except MethodError, err: |
|
|
|
|
|
log.error('Unable to set group options: %s', err.message) |
|
|
|
|
|
return False |
|
|
|
|
|
|
|
|
return True |
|
|
return True |
|
|
|
|
|
|
|
@ -80,7 +85,8 @@ class rTorrent(Downloader): |
|
|
return False |
|
|
return False |
|
|
|
|
|
|
|
|
group_name = 'cp_' + data.get('provider').lower() |
|
|
group_name = 'cp_' + data.get('provider').lower() |
|
|
self._update_provider_group(group_name, data) |
|
|
if not self._update_provider_group(group_name, data): |
|
|
|
|
|
return False |
|
|
|
|
|
|
|
|
torrent_params = {} |
|
|
torrent_params = {} |
|
|
if self.conf('label'): |
|
|
if self.conf('label'): |
|
|