Merge pull request #2871 from noam09/develop

Fix Qbittorrent config appearing while Deluge is selected + Deluge check if torrent seeding before removal
This commit is contained in:
AdeHub
2017-03-14 07:11:29 +13:00
committed by GitHub
2 changed files with 31 additions and 8 deletions
+1 -1
View File
@@ -2405,7 +2405,7 @@
} }
if ($("#torrent_downloader_deluge").is(":checked")) if ($("#torrent_downloader_deluge").is(":checked"))
{ {
$("#torrent_blackhole_options,#transmission_options,#utorrent_options,#qbittorent_options").hide(); $("#torrent_blackhole_options,#transmission_options,#utorrent_options,#qbittorrent_options").hide();
$("#deluge_options").show(); $("#deluge_options").show();
} }
+30 -7
View File
@@ -246,18 +246,41 @@ def removeTorrent(torrentid, remove_data=False):
_get_auth() _get_auth()
try: try:
result = False logger.debug('Deluge: Checking if torrent %s finished seeding' % str(torrentid))
post_data = json.dumps({"method": "core.remove_torrent", post_data = json.dumps({"method": "web.get_torrent_status",
"params": [ "params": [
torrentid, torrentid,
remove_data [
], "name",
"id": 25}) "ratio",
"state"
]
],
"id": 26})
response = requests.post(delugeweb_url, data=post_data.encode('utf-8'), cookies=delugeweb_auth, response = requests.post(delugeweb_url, data=post_data.encode('utf-8'), cookies=delugeweb_auth,
verify=deluge_verify_cert, headers=headers) verify=deluge_verify_cert, headers=headers)
result = json.loads(response.text)['result']
return result state = json.loads(response.text)['result']['state']
not_finished = ["queued", "seeding", "downloading", "checking", "error"]
result = False
if state.lower() in not_finished:
logger.debug('Deluge: Torrent %s is either queued or seeding, not removing yet' % str(torrentid))
return False
else:
logger.debug('Deluge: Removing torrent %s' % str(torrentid))
post_data = json.dumps({"method": "core.remove_torrent",
"params": [
torrentid,
remove_data
],
"id": 25})
response = requests.post(delugeweb_url, data=post_data.encode('utf-8'), cookies=delugeweb_auth,
verify=deluge_verify_cert, headers=headers)
result = json.loads(response.text)['result']
return result
except Exception as e: except Exception as e:
logger.error('Deluge: Removing torrent failed: %s' % str(e)) logger.error('Deluge: Removing torrent failed: %s' % str(e))
formatted_lines = traceback.format_exc().splitlines() formatted_lines = traceback.format_exc().splitlines()