Merge pull request #2775 from ressu/fix_rtorrent_connection

Fix rTorrent connectivity
This commit is contained in:
Ruud Burger
2014-01-31 13:31:32 -08:00
2 changed files with 18 additions and 2 deletions

View File

@@ -42,7 +42,7 @@ class rTorrent(Downloader):
if self.rt is not None:
return self.rt
url = cleanHost(self.conf('host'), protocol = True, ssl = self.conf('ssl')) + '/' + self.conf('rpc_url').strip('/ ') + '/'
url = cleanHost(self.conf('host'), protocol = True, ssl = self.conf('ssl')) + self.conf('rpc_url')
if self.conf('username') and self.conf('password'):
self.rt = RTorrent(

View File

@@ -136,9 +136,25 @@ def getExt(filename):
def cleanHost(host, protocol = True, ssl = False, username = None, password = None):
"""Return a cleaned up host with given url options set
Changes protocol to https if ssl is set to True and http if ssl is set to false.
>>> cleanHost("localhost:80", ssl=True)
'https://localhost:80/'
>>> cleanHost("localhost:80", ssl=False)
'http://localhost:80/'
Username and password is managed with the username and password variables
>>> cleanHost("localhost:80", username="user", password="passwd")
'http://user:passwd@localhost:80/'
Output without scheme (protocol) can be forced with protocol=False
>>> cleanHost("localhost:80", protocol=False)
'localhost:80'
"""
if not '://' in host and protocol:
host = 'https://' if ssl else 'http://' + host
host = ('https://' if ssl else 'http://') + host
if not protocol:
host = host.split('://', 1)[-1]