Browse Source

update hadouken downloader to work with v5.2.0 api changes

pull/6888/head
Wil Reichert 9 years ago
parent
commit
00db0485e8
  1. 44
      couchpotato/core/downloaders/hadouken.py

44
couchpotato/core/downloaders/hadouken.py

@ -371,29 +371,29 @@ class TorrentItemv5(TorrentItem):
self.obj = obj
def info_hash(self):
return self.obj['infoHash']
return self.obj[0]
def save_path(self):
return self.obj['savePath']
return self.obj[26]
def name(self):
return self.obj['name']
return self.obj[2]
def state(self):
return self.obj['state']
return self.obj[1]
def get_status(self):
if self.obj['isSeeding'] and self.obj['isFinished'] and self.obj['isPaused']:
if self.obj[1] == 32:
return 'completed'
if self.obj['isSeeding']:
if self.obj[1] == 1:
return 'seeding'
return 'busy'
def get_seed_ratio(self):
up = self.obj['uploadedBytesTotal']
down = self.obj['downloadedBytesTotal']
up = self.obj[6]
down = self.obj[5]
if up > 0 and down > 0:
return up / down
@ -402,28 +402,29 @@ class TorrentItemv5(TorrentItem):
class HadoukenAPIv5(HadoukenAPI):
def add_file(self, data, params):
return self.rpc.invoke('session.addTorrentFile', [b64encode(data), params])
return self.rpc.invoke('webui.addTorrent', ['file', b64encode(data), params])
def add_magnet_link(self, link, params):
return self.rpc.invoke('session.addTorrentUri', [link, params])
return self.rpc.invoke('webui.addTorrent', ['url', link, params])
def get_by_hash_list(self, infoHashList):
torrents = self.rpc.invoke('session.getTorrents')
torrents = self.rpc.invoke('webui.list', None)
result = []
for torrent in torrents.values():
if torrent['infoHash'] in infoHashList:
for torrent in torrents['torrents']:
if torrent[0] in infoHashList:
result.append(TorrentItemv5(torrent))
return result
def get_files_by_hash(self, infoHash):
files = self.rpc.invoke('torrent.getFiles', [infoHash])
files = self.rpc.invoke('webui.getFiles', [infoHash])
result = []
for file in files:
result.append(file['path'])
for file in files['files'][1]:
result.append(file[0])
return result
@ -437,12 +438,15 @@ class HadoukenAPIv5(HadoukenAPI):
def pause(self, infoHash, pause):
if pause:
return self.rpc.invoke('torrent.pause', [infoHash])
return self.rpc.invoke('webui.perform', ['pause', infoHash])
return self.rpc.invoke('torrent.resume', [infoHash])
return self.rpc.invoke('webui.perform', ['resume', infoHash])
def remove(self, infoHash, remove_data = False):
return self.rpc.invoke('session.removeTorrent', [infoHash, remove_data])
def remove(self, infoHash, remove_data=False):
if remove_data:
return self.rpc.invoke('webui.perform', ['removedata', infoHash])
return self.rpc.invoke('webui.perform', ['remove', infoHash])
class TorrentItemv4(TorrentItem):

Loading…
Cancel
Save