# Authors: Mr_Orange # # This file is part of SickGear. # # SickGear is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # SickGear is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with SickGear. If not, see . import re from .generic import GenericClient import sickgear from _23 import urlencode from six import iteritems class uTorrentAPI(GenericClient): def __init__(self, host=None, username=None, password=None): super(uTorrentAPI, self).__init__('uTorrent', host, username, password) self.url = self.host + 'gui/' def _request(self, method='get', params=None, files=None, **kwargs): params = {} if None is params else params return super(uTorrentAPI, self)._request( method=method, params='token={0:s}&{1:s}'.format(self.auth, '&'.join( ['%s' % urlencode(dict([[key, str(value)]])) for key, value in iteritems(params)])) if any(params) else params, files=files) def _get_auth(self): try: response = self.session.get(self.url + 'token.html', verify=False) self.auth = re.findall('(.*?)