diff --git a/couchpotato/core/downloaders/transmission/main.py b/couchpotato/core/downloaders/transmission/main.py index 3ac8c21..3864e1d 100644 --- a/couchpotato/core/downloaders/transmission/main.py +++ b/couchpotato/core/downloaders/transmission/main.py @@ -9,13 +9,14 @@ import urllib2 import httplib import json import re -log = CPLog(__name__) class TransmissionRPC(object): """TransmissionRPC lite library""" + log = CPLog(__name__) + def __init__( self, host='localhost', @@ -41,7 +42,7 @@ class TransmissionRPC(object): 'couchpotato-transmission-client/1.0')] urllib2.install_opener(opener) elif username or password: - log.debug('User or password missing, not using authentication.' + self.log.debug('User or password missing, not using authentication.' ) self.session = self.get_session() @@ -54,62 +55,62 @@ class TransmissionRPC(object): try: open_request = urllib2.urlopen(request) response = json.loads(open_request.read()) - log.debug('response: ' + self.log.debug('response: ' + str(json.dumps(response).encode('utf-8'))) if response['result'] == 'success': - log.debug(u'Transmission action successfull') + self.log.debug(u'Transmission action successfull') return response['arguments'] else: - log.debug('Unknown failure sending command to Transmission. Return text is: ' + self.log.debug('Unknown failure sending command to Transmission. Return text is: ' + response['result']) return False - except httplib.InvalidURL, e: - log.error(u'Invalid Transmission host, check your config %s' - % e) + except httplib.InvalidURL, err: + self.log.error(u'Invalid Transmission host, check your config %s' + % err) return False - except urllib2.HTTPError, e: - if e.code == 401: - log.error(u'Invalid Transmission Username or Password, check your config' + except urllib2.HTTPError, err: + if err.code == 401: + self.log.error(u'Invalid Transmission Username or Password, check your config' ) return False - elif e.code == 409: - msg = str(e.read()) + elif err.code == 409: + msg = str(err.read()) try: self.session_id = \ re.search('X-Transmission-Session-Id:\s*(\w+)', msg).group(1) - log.debug('X-Transmission-Session-Id: ' + self.log.debug('X-Transmission-Session-Id: ' + self.session_id) # #resend request with the updated header return self._request(ojson) except: - log.error(u'Unable to get Transmission Session-Id %s' - % e) + self.log.error(u'Unable to get Transmission Session-Id %s' + % err) else: - log.error(u'TransmissionRPC HTTPError: %s' % e) - except urllib2.URLError, e: - log.error(u'Unable to connect to Transmission %s' % e) + self.log.error(u'TransmissionRPC HTTPError: %s' % err) + except urllib2.URLError, err: + self.log.error(u'Unable to connect to Transmission %s' % err) def get_session(self): post_data = {'method': 'session-get', 'tag': self.tag} return self._request(post_data) - def add_torrent_uri(self, torrent, arguments={}): + def add_torrent_uri(self, torrent, arguments): arguments['filename'] = torrent post_data = {'arguments': arguments, 'method': 'torrent-add', 'tag': self.tag} return self._request(post_data) - def add_torrent_file(self, torrent, arguments={}): + def add_torrent_file(self, torrent, arguments): arguments['metainfo'] = torrent post_data = {'arguments': arguments, 'method': 'torrent-add', 'tag': self.tag} return self._request(post_data) - def set_torrent(self, id, arguments={}): - arguments['ids'] = id + def set_torrent(self, torrent_id, arguments): + arguments['ids'] = torrent_id post_data = {'arguments': arguments, 'method': 'torrent-set', 'tag': self.tag} return self._request(post_data) @@ -118,11 +119,12 @@ class TransmissionRPC(object): class Transmission(Downloader): type = ['torrent', 'magnet'] + log = CPLog(__name__) def download( self, - data={}, - movie={}, + data, + movie, manual=False, filedata=None, ): @@ -132,14 +134,14 @@ class Transmission(Downloader): or not self.isCorrectType(data.get('type')): return - log.debug('Sending "%s" to Transmission.', data.get('name')) - log.debug('Type "%s" to Transmission.', data.get('type')) + self.log.debug('Sending "%s" to Transmission.', data.get('name')) + self.log.debug('Type "%s" to Transmission.', data.get('type')) # Load host from config and split out port. host = self.conf('host').split(':') if not isInt(host[1]): - log.error('Config properties are not filled in correctly, port is missing.' + self.log.error('Config properties are not filled in correctly, port is missing.' ) return False @@ -153,23 +155,28 @@ class Transmission(Downloader): ) else 1)} if not filedata or data.get('type') != 'magnet': - log.error('Failed sending torrent, no data') + self.log.error('Failed sending torrent, no data') # Send request to Transmission try: - tc = TransmissionRPC(host[0], port=host[1], + trpc = TransmissionRPC(host[0], port=host[1], username=self.conf('username'), password=self.conf('password')) - if data.get('type') == 'magnet' or data.get('magnet') != None: - remote_torrent = tc.add_torrent_uri(data.get('magnet'), arguments=params) + if data.get('type') == 'magnet' or data.get('magnet') \ + != None: + remote_torrent = trpc.add_torrent_uri(data.get('magnet'), + arguments=params) else: - remote_torrent = tc.add_torrent_file(b64encode(filedata), arguments=params) + remote_torrent = \ + trpc.add_torrent_file(b64encode(filedata), + arguments=params) # Change settings of added torrents - tc.set_torrent(remote_torrent['torrent-added']['hashString' + + trpc.set_torrent(remote_torrent['torrent-added']['hashString' ], torrent_params) return True - except Exception, e: - log.error('Failed to change settings for transfer: %s', e) + except Exception, err: + self.log.error('Failed to change settings for transfer: %s', err) return False