[#2250] [WebUI] [Console] Use new core.remove_torrents method

This commit is contained in:
Calum Lind 2014-12-03 16:34:24 +00:00
parent 08363f28dd
commit faf3f96322
4 changed files with 45 additions and 31 deletions

View File

@ -34,8 +34,14 @@ class Command(BaseCommand):
for arg in args:
torrent_ids.extend(self.console.match_torrent(arg))
for torrent_id in torrent_ids:
client.core.remove_torrent(torrent_id, options["remove_data"])
def on_removed_finished(errors):
if errors:
self.console.write("Error(s) occured when trying to delete torrent(s).")
for t_id, e_msg in errors:
self.console.write("Error removing torrent %s : %s" % (t_id, e_msg))
d = client.core.remove_torrents(torrent_ids, options["remove_data"])
d.addCallback(on_removed_finished)
def complete(self, line):
# We use the ConsoleUI torrent tab complete method

View File

@ -146,10 +146,18 @@ def torrent_action(idx, data, mode, ids):
return
mode.clear_marks()
wd = data["remove_files"]
for tid in ids:
log.debug("Removing torrent: %s, %d", tid, wd)
client.core.remove_torrent(tid, wd).addErrback(action_error, mode)
remove_data = data["remove_files"]
def on_removed_finished(errors):
if errors:
error_msgs = ""
for t_id, e_msg in errors:
error_msgs += "Error removing torrent %s : %s\n" % (t_id, e_msg)
mode.report_message("Error(s) occured when trying to delete torrent(s).", error_msgs)
mode.refresh()
d = client.core.remove_torrents(ids, remove_data)
d.addCallback(on_removed_finished)
def got_status(status):
return (status["name"], status["state"])

View File

@ -58,16 +58,16 @@ Deluge.RemoveWindow = Ext.extend(Ext.Window, {
},
remove: function(removeData) {
Ext.each(this.torrentIds, function(torrentId) {
deluge.client.core.remove_torrent(torrentId, removeData, {
success: function() {
this.onRemoved(torrentId);
deluge.client.core.remove_torrents(this.torrentIds, removeData, {
success: function(result) {
if (result) {
console.log("Error(s) occured when trying to delete torrent(s).");
}
this.onRemoved(this.torrentIds);
},
scope: this,
torrentId: torrentId
torrentIds: this.torrentIds
});
}, this);
},
show: function(ids) {
@ -88,8 +88,8 @@ Deluge.RemoveWindow = Ext.extend(Ext.Window, {
this.remove(true);
},
onRemoved: function(torrentId) {
deluge.events.fire('torrentRemoved', torrentId);
onRemoved: function(torrentIds) {
deluge.events.fire('torrentsRemoved', torrentIds);
this.hide();
deluge.ui.update();
}

View File

@ -347,7 +347,7 @@
initComponent: function() {
Deluge.TorrentGrid.superclass.initComponent.call(this);
deluge.events.on('torrentRemoved', this.onTorrentRemoved, this);
deluge.events.on('torrentsRemoved', this.onTorrentsRemoved, this);
deluge.events.on('disconnect', this.onDisconnect, this);
this.on('rowcontextmenu', function(grid, rowIndex, e) {
@ -459,7 +459,7 @@
},
// private
onTorrentRemoved: function(torrentIds) {
onTorrentsRemoved: function(torrentIds) {
var selModel = this.getSelectionModel();
Ext.each(torrentIds, function(torrentId) {
var record = this.getStore().getById(torrentId);