Merge pull request #2824 from fuzeman/feature/dev_rtorrent

[rtorrent] Fixed bug where setting changes would not take effect
This commit is contained in:
Ruud Burger committed 2014-02-16 10:13:02 +01:00
commit aa5937c278
2 files changed
+12 -2

No files matched your search

+11 -2
View File
@@ -24,6 +24,7 @@ class rTorrent(Downloader):
super(rTorrent, self).__init__() super(rTorrent, self).__init__()
addEvent('app.load', self.migrate) addEvent('app.load', self.migrate)
addEvent('setting.save.rtorrent.*.after', self.settingsChanged)
def migrate(self): def migrate(self):
@@ -37,6 +38,14 @@ class rTorrent(Downloader):
self.deleteConf('url') self.deleteConf('url')
def settingsChanged(self):
# Reset active connection if settings have changed
if self.rt:
log.debug('Settings have changed, closing active connection')
self.rt = None
return True
def connect(self): def connect(self):
# Already connected? # Already connected?
if self.rt is not None: if self.rt is not None:
@@ -55,7 +64,7 @@ class rTorrent(Downloader):
return self.rt return self.rt
def _update_provider_group(self, name, data): def updateProviderGroup(self, name, data):
if data.get('seed_time'): if data.get('seed_time'):
log.info('seeding time ignored, not supported') log.info('seeding time ignored, not supported')
@@ -104,7 +113,7 @@ class rTorrent(Downloader):
return False return False
group_name = 'cp_' + data.get('provider').lower() group_name = 'cp_' + data.get('provider').lower()
if not self._update_provider_group(group_name, data): if not self.updateProviderGroup(group_name, data):
return False return False
torrent_params = {} torrent_params = {}
+1
View File
@@ -200,6 +200,7 @@ class Settings(object):
# After save (for re-interval etc) # After save (for re-interval etc)
fireEvent('setting.save.%s.%s.after' % (section, option), single = True) fireEvent('setting.save.%s.%s.after' % (section, option), single = True)
fireEvent('setting.save.%s.*.after' % section, single = True)
return { return {
'success': True, 'success': True,